본문 바로가기

Swift '문법'

Struct

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