구조체:Value Type / Stack에 메모리 할당
(struct, enum, tuple) Swift의 기본 자료형 타입은 모두 struct 형태로 구현되어있다.
-> Copying할때 data의 복사본 생성
-> 다른 부분에서 데이터를 변경하지 못함
클래스: Reference Type / heap에 메모리 할당
(class, function, closure)
shared instace사용, 두번째 변수에 할당된 인스턴스의 값을 변경하면 기존값도 같이 변경된다.
-> 다른 부분에서 데이터 변경 가능
reference counting으로 메모리 관리 가능
참고 출처
상어의 개발 블로그