swiftseminar(enumerations, structures, classes)

15
Swift 열거형, 구조체, 클래스 창원대학교 정보통신공학과 Mobile-X 김상규 지도교수 : 박동규 2015.01.13.

Upload: sanggyu-kim

Post on 19-Jul-2015

831 views

Category:

Software


1 download

TRANSCRIPT

Page 1: SwiftSeminar(Enumerations, Structures, Classes)

Swift 열거형, 구조체, 클래스

창원대학교 정보통신공학과 Mobile-X 김상규

지도교수 : 박동규 2015.01.13.

Page 2: SwiftSeminar(Enumerations, Structures, Classes)

Contents

• 열거형(Enumerations)

• 구조체(Structures)와 클래스(Classes)

Page 3: SwiftSeminar(Enumerations, Structures, Classes)

자료형(Type)

자료형

기본 자료형 유도자료형

열거형 구조체기본형 콜렉션형

Page 4: SwiftSeminar(Enumerations, Structures, Classes)

열거형(Enumerantions)

• 변수가 가질 수 있는 가능한 값들을 나열해 놓은 타입

• 값의 종류가 일정한 범위로 정해 있을 때 쓰는 것이 편리

• 선언

c언어와 차이점 - 멤버에 정수가 할당되지 않는다

Page 5: SwiftSeminar(Enumerations, Structures, Classes)

열거형(Enumerantions)

· 예제_열거형 선언과 사용

자료형 결정 후 생략 가능

열거형 모두 고려하거나 default 사용

Page 6: SwiftSeminar(Enumerations, Structures, Classes)

열거형(Enumerantions)

· 예제_멤버값 설정

숫자 시스템 제조번호 제품 번호 확인 숫자

Page 7: SwiftSeminar(Enumerations, Structures, Classes)

열거형(Enumerantions)

·원시값(Raw values) : 멤버 모두 동일한 자료형

Page 8: SwiftSeminar(Enumerations, Structures, Classes)

열거형(Enumerantions)

· 예제_원시값 설정과 rawValue

옵셔널 바인딩

원시값 읽음멤버 찾음 옵셔널 값 리턴

Page 9: SwiftSeminar(Enumerations, Structures, Classes)

구조체(Structures)와 클래스(Class)

객체 지향적 프로그래밍(OOP, Object Oriented Programming)의 탄생

공학적 계산 연구 도구개인용 컴퓨터

하드웨어의 발전

소프트웨어의 위기(Software Crisis) 객체지향적 프로그래밍!!!

Page 10: SwiftSeminar(Enumerations, Structures, Classes)

구조체(Structures)와 클래스(Class)

•OOP의 특징

캡슐화(Encapsulation) : 자료(Data)와 동작(Function)을 하나로 묶음

정보은폐(Information Hiding) : 기능만 공개하고 나머지는 숨김

추상화(Abstraction) : 효율적이고 안전하게 사용가능 하게 설계

상속(Inheritance) : 기존 클래스를 파생시켜 새로운 클래스 정의

다형성(Polymorphism) : 상황에나 따라, 호출하는 객체에 따라 다른 동작 가능

Page 11: SwiftSeminar(Enumerations, Structures, Classes)

구조체(Structures)와 클래스(Class)

• 구조체(Structures) : 타입이 다른 변수들의 집합

• 클래스(Class) : 확장된 구조체, 인스턴스를 만들기 위한 소프트웨어의 기본 단위

• 선언

첫글자 대문자

프로퍼티

Page 12: SwiftSeminar(Enumerations, Structures, Classes)

구조체(Structures)와 클래스(Class)

• 인스턴스(Instance) 선언

• 프로퍼티 접근(Property access) - 접근연산자(.)

Page 13: SwiftSeminar(Enumerations, Structures, Classes)

· 예제_인스턴스 선언과 프로퍼티 접근

구조체(Structures)와 클래스(Class)

Page 14: SwiftSeminar(Enumerations, Structures, Classes)

구조체(Structures)와 클래스(Class)

구조체/열거형 클래스

타입(Type) 값 타입(Value Type) 레퍼런스 타입 (Reference Type)

• 구조체와 클래스 비교

식별 연산자(Identity Operator) === (동일한)

!==(동일하지 않은)

Page 15: SwiftSeminar(Enumerations, Structures, Classes)

Thanks for your attention