봉식이와 캔따개

[Swift] struct vs class 본문

Swift

[Swift] struct vs class

봉식이누나 2023. 7. 4. 23:36
반응형

 

 

struct와 class의 차이점을 알아보자

 

 

✅  struct는 생성자 알아서 만들어줌, class는 만들어줘야함

 

✔️ struct 는 Memberwise Initializer 가 있어서 생성자를 따로 작성해주지 않아도 된다

    (물론 직접 작성해 주는 것도 가능)

 

 

 

✔️ class는 작성해주어야한다

 

생성자를 작성해주지 않아서 에러난 모습

 

생성자 작성해줌

 

 

 

✅  struct는 값 타입, class는 참조 타입

 

✔️ struct는 값이 복사되어 전달되어서 bongsikCopy의 값을 변경해주어도 bongsik의 값은 변함이 없다

 

bongsikCopy의 name값을 태식이로 변경

 

print 결과값

 

 

✔️ class는 값의 메모리의 위치가 전달되어서 master의 값을 변경해주면 bongsik의 값도 변한다

master의 name값을 봉식님으로 변경

 

print 결과값

 

 

*️⃣ 추가로 class에만 있는 기능들

✔️ 상속 가능

✔️ Type casting을 사용하여 class 인스턴스의 타입 확인 가능

✔️ deinit (초기화 해제 구문) 을 사용하여 class 인스턴스의 자원 할당 해제 가능

✔️ ARC를 사용하여 메모리 관리

 

반응형
Comments