티스토리 뷰

오늘은 정말 정말 중요하면서도 기초적인 개념이라 할 수 있는 Struct와 Class에 대해 알아보려 합니다!  

 

Struct & Class 공통점


1. 프로그래머가 데이터를 용도에 맞게 묶어서 표현하는데 있어 용이하다!

2. 프로퍼티와 메서드를 사용하여 구조화된 데이터와 기능을 가질 수 있다.

3. 초기화 될때 상태를 지정하기 위한 initializer 정의 가능

4. extension을 사용하여 확장 가능

5. protocol 채택 가능

 

 

Struct & Class 차이점


1. Struct - value type (값 타입),  Class - reference type(참조 타입)

2.  Struct는 상속 불가 & 타입 캐스팅 불가

3. Reference Counting(참조 횟수 카운트)은 Class 인스턴스에만 적용

4. Class는 Codable 사용 X

 

 

Struct는 언제 사용???


1. 주 목적이 연관성있는 간단한 데이터 값을 캡슐화 하는 것일 경우

2. 캡슐화 한 값을 참조하기보다 복사하는것이 더 적합한 경우

3. 구조체에 저장되는 프로퍼티들이 참조하는것보다 복사하는 것이 더 적합할 경우

4. 상속이 필요 없는 경우

 

Struct (값 복사) 

 

Struct (상속 불가, 프로토콜 채택만 가능)

 

Class (메모리 참조)

댓글
링크
최근에 올라온 글
최근에 달린 댓글