Swift에서 구조체를 정의하고 사용하는 방법을 설명하겠습니다. Swift의 구조는 C 또는 C++의 구조와 유사하지만 객체 지향 언어의 더 많은 특성을 포함합니다. 예를 들어 메서드, 초기화 함수 등이 있을 수 있습니다.
구조체를 정의하고 사용하는 예제
import Foundation
// 구조체 정의
struct Person {
var name: String
var age: Int
var height: Double
// 메소드 정의
func displayInfo() {
print("Name: \(name)")
print("Age: \(age)")
print("Height: \(height)")
}
// 초기화 함수 정의 (생략 가능, Swift는 자동으로 멤버와 동일한 이니셜라이저를 생성)
init(name: String, age: Int, height: Double) {
self.name = name
self.age = age
self.height = height
}
}
// 구조체 인스턴스 생성
let person1 = Person(name: "John Doe", age: 30, height: 5.9)
// 구조체 멤버 접근
print("Name: \(person1.name)")
print("Age: \(person1.age)")
print("Height: \(person1.height)")
// 구조체 메소드 호출
person1.displayInfo()
위 예제에서 Person 구조체는 name, age, height라는 세 가지 속성을 가지고 있으며, displayInfo()라는 메소드를 가지고 있습니다. init 초기화 함수는 인스턴스를 생성할 때 호출됩니다. Swift는 자동으로 멤버와 동일한 이니셜라이저를 생성하기 때문에 초기화 함수를 생략할 수 있지만, 필요한 경우 커스터마이즈된 초기화 함수를 정의할 수 있습니다.
구조체의 인스턴스를 생성할 때는 let이나 var 키워드를 사용할 수 있습니다. let을 사용하면 생성된 인스턴스는 불변(immutable)이 되며, var를 사용하면 변경 가능(mutable)합니다.
구조체의 기본적인 사용법 외에도 Swift 구조체는 프로토콜 준수, 익스텐션 등을 통해 강력한 기능을 제공하므로 다양한 용도로 활용될 수 있습니다.
'Swift '문법'' 카테고리의 다른 글
클래스 상속 (0) | 2024.07.17 |
---|---|
상속 (0) | 2024.07.16 |
Dictionary (0) | 2024.07.11 |
Array (0) | 2024.07.10 |
Bool (0) | 2024.07.09 |