[swift] 스위프트 구조체와 클래스
스위프트는 구조체(struct)와 클래스(class) 두 가지 타입을 제공합니다. 이들은 속성과 메서드를 가질 수 있으며, 데이터 모델링과 코드 재사용을 위해 사용됩니다.
구조체
구조체는 값 타입(value type)으로, 변수나 상수에 할당되거나 전달될 때 값을 복사하여 전달합니다. 구조체는 용량이 작고 간단한 데이터 값을 캡슐화하고자 할 때 적합합니다. 구조체는 다음과 같이 선언됩니다.
struct Resolution {
var width = 0
var height = 0
}
클래스
클래스는 참조 타입(reference type)으로, 인스턴스가 전달될 때에는 값이 복사되지 않고 참조만 전달됩니다. 클래스는 상속을 지원하고, 런타임 시간에 타입 캐스팅과 인스턴스 메모리 관리를 할 수 있는 등의 추가 기능을 제공합니다. 클래스는 다음과 같이 선언됩니다.
class VideoMode {
var resolution = Resolution()
var interlaced = false
var frameRate = 0.0
var name: String?
}
구조체와 클래스의 비교
구조체는 값 타입으로 적합하며 상속이 필요 없거나 간단한 데이터 캡슐화가 필요한 경우 사용될 수 있습니다. 클래스는 참조 타입으로 작동하며, 각 인스턴스가 고유한 주소값을 갖습니다.
결론
스위프트에서는 구조체와 클래스를 사용하여 데이터를 캡슐화하고 코드를 구조화할 수 있습니다. 적합한 타입을 선택하여 데이터 모델링 및 코드 구현을 할 수 있도록 구조체와 클래스를 활용해보세요.
더 자세한 정보는 스위프트 공식 문서를 참고하세요.
[swift]