struct 2

[Swift] 구조체란 무엇인가?

구조체란? 프로퍼티 값을 저장하거나 메소드를 제공하고 이것들을 캡슐화하여 표현하는 타입입니다. 구조체는 인스턴스가 값(Value) 타입입니다. 즉, 메모리가 공유되는 것이 아니라 인스턴스가 복사되는 것을 의미합니다. (원본을 변경해도 복사본에는 영향을 끼치지 않음) 특징 - 참조카운트가 없어서 메모리 관리에 안전하다. - 레퍼런스 타입이 아니여서 데이터 공유가 불가능하다. - Immutable 구현에 안전하다. - 상속이 불가능하다. - 클래스 보다 인스턴스 생성이 빠르다. 언제 쓰는 것이 좋은가? - 데이터를 참조하는 것 보다 복사하는 것이 합당할 때 - 데이터 공유가 필요 없는 경우 - 작고 간단한 데이터 - Immutable 구현이 필요한 경우 - 상속받거나 자신을 상속할 필요가 없을 경우

Swift 2020.01.03

[Swift] 클래스 vs 구조체,열거형

# 클래스(Class) 전통적인 OOP 관점에서의 클래스입니다. 클래스는 단일상속이 가능하고 *참조 타입입니다. Apple 프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성되어 있습니다. (참조 타입 - Reference Type : 데이터를 전달할 때 메모리 위치를 전달합니다.) # 구조체(Struct) C언어 등의 구조체보다 다양한 기능을 가지고 있습니다. 구조체는 상속이 불가능하고 *값 타입입니다. Swift의 대부분의 큰 뼈대는 모두 구조체로 구성되어 있습니다. (값 타입 - Value Type : 데이터를 전달할 때 값을 복사하여 전달합니다.) # 열거형(Enum) 다른 언어의 열거형과는 많이 다른 존재입니다. 열거형은 상속이 불가능하고 값 타입입니다. 유사한 종류의 여러 값을 유의미한 이름으..

Swift 2018.05.04