Upload
sanggyu-kim
View
830
Download
1
Embed Size (px)
Citation preview
Swift 열거형, 구조체, 클래스
창원대학교 정보통신공학과 Mobile-X 김상규
지도교수 : 박동규 2015.01.13.
Contents
• 열거형(Enumerations)
• 구조체(Structures)와 클래스(Classes)
자료형(Type)
자료형
기본 자료형 유도자료형
열거형 구조체기본형 콜렉션형
열거형(Enumerantions)
• 변수가 가질 수 있는 가능한 값들을 나열해 놓은 타입
• 값의 종류가 일정한 범위로 정해 있을 때 쓰는 것이 편리
• 선언
c언어와 차이점 - 멤버에 정수가 할당되지 않는다
열거형(Enumerantions)
· 예제_열거형 선언과 사용
자료형 결정 후 생략 가능
열거형 모두 고려하거나 default 사용
열거형(Enumerantions)
· 예제_멤버값 설정
숫자 시스템 제조번호 제품 번호 확인 숫자
열거형(Enumerantions)
·원시값(Raw values) : 멤버 모두 동일한 자료형
열거형(Enumerantions)
· 예제_원시값 설정과 rawValue
옵셔널 바인딩
원시값 읽음멤버 찾음 옵셔널 값 리턴
구조체(Structures)와 클래스(Class)
객체 지향적 프로그래밍(OOP, Object Oriented Programming)의 탄생
공학적 계산 연구 도구개인용 컴퓨터
하드웨어의 발전
소프트웨어의 위기(Software Crisis) 객체지향적 프로그래밍!!!
구조체(Structures)와 클래스(Class)
•OOP의 특징
캡슐화(Encapsulation) : 자료(Data)와 동작(Function)을 하나로 묶음
정보은폐(Information Hiding) : 기능만 공개하고 나머지는 숨김
추상화(Abstraction) : 효율적이고 안전하게 사용가능 하게 설계
상속(Inheritance) : 기존 클래스를 파생시켜 새로운 클래스 정의
다형성(Polymorphism) : 상황에나 따라, 호출하는 객체에 따라 다른 동작 가능
구조체(Structures)와 클래스(Class)
• 구조체(Structures) : 타입이 다른 변수들의 집합
• 클래스(Class) : 확장된 구조체, 인스턴스를 만들기 위한 소프트웨어의 기본 단위
• 선언
첫글자 대문자
프로퍼티
구조체(Structures)와 클래스(Class)
• 인스턴스(Instance) 선언
• 프로퍼티 접근(Property access) - 접근연산자(.)
· 예제_인스턴스 선언과 프로퍼티 접근
구조체(Structures)와 클래스(Class)
구조체(Structures)와 클래스(Class)
구조체/열거형 클래스
타입(Type) 값 타입(Value Type) 레퍼런스 타입 (Reference Type)
• 구조체와 클래스 비교
식별 연산자(Identity Operator) === (동일한)
!==(동일하지 않은)
Thanks for your attention