728x90
Swift 구조체와 클래스 (Structures and Classes)
Swift에서 구조체와 클래스는 데이터를 묶고 기능을 정의하는 데 사용되는 두 가지 기본적인 자료형입니다.
1. 구조체 (Structures)
- **값 타입 (Value Type)**입니다.
- 값을 복사하여 저장합니다.
- 데이터를 효율적으로 처리하는 데 적합합니다.
- 간단하고 가벼운 데이터 모델링에 적합합니다.
struct Person {
let name: String
var age: Int
}
let jimin = Person(name: "지민", age: 30)
var jhope = jimin
jhope.age = 29
print(jimin.age) // 30 (구조체는 값 복사로 생성되므로 변경되지 않음)
print(jhope.age) // 29
2. 클래스 (Classes)
- **참조 타입 (Reference Type)**입니다.
- 값을 참조하여 저장합니다.
- 복잡한 데이터 모델링과 동작을 구현하는 데 적합합니다.
- 메모리 관리가 필요합니다.
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
let jimin = Person(name: "지민", age: 30)
var jhope = jimin
jhope.age = 29
print(jimin.age) // 29 (클래스는 값 참조로 생성되므로 변경됨)
print(jhope.age) // 29
3. 선택 시 사용
- 구조체를 사용하는 경우:
- 값을 복사하고 전달해야 하는 경우
- 간단하고 가벼운 데이터 모델링이 필요한 경우
- 성능이 중요한 경우
- 복잡한 데이터 모델링과 동작이 필요한 경우
- 인스턴스 간 데이터 공유가 필요한 경우
- 메모리 관리가 가능한 경우
'개발' 카테고리의 다른 글
Swfit 메서드 (Methods) (0) | 2024.07.05 |
---|---|
Swift 프로퍼티 (Properties) (1) | 2024.07.05 |
Swift 열거형 (Enumerations) (0) | 2024.07.05 |
Swift 클로저 (Closures in Swift) (0) | 2024.07.05 |
Swift 함수 (Functions) (0) | 2024.07.05 |