728x90
반응형
구조체와 클래스
구조체는 값 타입
클래스는 참조 타입
표기법 - 구조체와 클래스는 대문자로 시작하는 파스칼 표기법 사용.
1. 구조체
생성
멤버 변수 - 프로퍼티
멤버 함수 - 메서드
생성시 생성자를 따로 만들지 않아도 자동으로 프로퍼티 네임에 맞게 생성자가 만들어진다.
사용 - 인스턴스 생성
2. 클래스
생성
사용
3. init
- 생성자 초기화 구문
- 클래스 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비 과정
* deinit{ }
- class 에서만 사용이 가능하고 인스턴스 해제시에 동작 ( nil 대입시 )
4. 프로퍼티
- 클래스 , 구조체, 열거형 등에 관련된 값 ( 인스턴스에 소속된 변수 및 속성 )
- 구조체를 상수로 선언하면, 내부 프로퍼티들도 상수가 된다 ( 값 타입이기 때문에 )
클래스는 참조 타입이기 때문에, 상수로 선언을 해도 내부 프로퍼티 값을 바꿀수 있다. ( 참조 타입 )
연산형 프로퍼티 ( get set 을 사용 )
5. 프로퍼티 옵서버
- 프로퍼티의 값변화를 관찰 ( 프로퍼티가 set 될때마다 호출 )
- 저장프로퍼티, 오버라이딩된 저장계산 프로퍼티에서만 사용가능
willSet - 변경전 처리
didSet - 변경후 처리
타입 프로 퍼티
클래스와 구조체의 차이
참조 타입
- class1.count 값도 2로 변경 되었다. ( 이전에 고블린이 몽땅죽는 예시. )
값 타입
- 값자체가 복사된 것이기 때문에 다른 값에는 영향을 주지 않음
728x90
반응형
'IOS' 카테고리의 다른 글
XX캠퍼스 강의 - ch05 _ NavigationController (0) | 2022.06.07 |
---|---|
XX캠퍼스 강의 - ch04 _ UIKit (0) | 2022.06.07 |
XX캠퍼스 강의 - ch04 _xcode (0) | 2022.06.07 |
XX캠퍼스 강의 - ch03 _Swift 기본 문법(3) (0) | 2022.06.03 |
XX캠퍼스 강의 - ch01 _Swift 기본 문법(1) (0) | 2022.05.31 |