struct(2)
-
Struct가 무엇이고 어떻게 사용하는지 설명하시오.
Struct란? Swift 대부분 타입은 구조체로 이루어져 있다. 구조체는 값(value)타입이다. 타입 이름은 대문자 카멜케이스를 사용하여 정의한다. Struct 문법 'struct' 키워드로 구조체를 정의한다. struct (대문자)이름 { /* 구현부 */ } 구조체 프로퍼티 및 메서드 구현 struct Sample { // 가변 프로퍼티(값 변경 가능) var mutableProperty:Int = 100 // 불변 프로퍼티(값 변경 불가능) let immutableProperty:Int = 100 // 타입 프로퍼티(static 키워드 사용: 타입 자체가 사용하는 프로퍼티) static var typeProperty:Int = 100 // 인스턴스 메서드(인스턴스가 사용하는 메서드) fun..
2022.05.08 -
Class와 Struct의 차이점에 대해 설명하시오.
Class와 Struct 차이점 Class 참조 타입(Reference Type) 상속 가능 heap memory 영역에 할당 (속도가 느림) 런타임에 직접 alloc하며 reference counting을 통해 dealloc이 필요 memory fragmentation 등의 overhead가 존재 NSData serialize 가능 Codable 사용 불가능 런타임에 타입 캐스팅을 통해서 클래스 인스턴스에 따라 여러 동작이 가능 deinitializer 존재 Struct / Enum 값 타입(Value Type) 상속 불가능 (protocol은 사용 가능) stack memory 영역에 할당 (속도가 빠름) scope based lifetime: 컴파일타임에 compiler가 언제 메모리를 할당/해제할..
2022.05.02