Swift

Swift) Struct 구조체

나태한개발 2024. 6. 2. 23:00

구조체는 데이터를 저장하고 관련 기능을 캡슐화하는 데 사용되는 사용자 정의 데이터 타입이다.

구조체는 프로퍼티와 메서드를 가질 수 있다.

 

말로 설명하는거 보다 예시가 직빵이다.

 

생김새

struct Person {
    var name: String
    var age: Int
    
    func describe() {
        print("이름 : \(name), 나이 : \(age)")
    }
}

이렇게 구조체를 만들고 프로퍼티와 메서드를 선언해 주었다.

 

 

사용법

var person1 = Person(name: "전성진", age: 30)
person1.describe() // 이름 : 전성진, 나이 : 30

var person2 = person1 // 복사
person2.name = "김승원"
person2.describe() // 이름 : 김승원, 나이 : 30
person1.describe() // 이름 : 전성진, 나이 : 30

변수로 초기화한 person 프로퍼티 값을 수정할수 있다.

 

 

let으로 초기화 한 경우

let person1 = Person(name: "전성진", age: 30)
person1.describe() // 이름 : 전성진, 나이 : 30
person1.age = 25 //오류

프로퍼티에 접근하려고 하면 오류가 난다.

 

 

구조체에서 상수로 프로퍼티를 선언했을경우

struct Person {
    let name: String
    let age: Int
    
    func describe() {
        print("이름 : \(name), 나이 : \(age)")
    }
}
let person1 = Person(name: "전성진", age: 30) // 초기화메서드로 프로퍼티 초기화
person1.describe() // 이름 : 전성진, 나이 : 30
person1.age = 25 //그 뒤로 값변경 불가

초기화는 가능하지만 값 변경은 불가능 하다.

 

구조체도 아직 설명할게 많다.

추후 내용을 추가 해야겠다.

'Swift' 카테고리의 다른 글

Swift) Generic 제네릭  (0) 2024.06.05
Swift) 상속  (0) 2024.06.04
Swift) Protocol 프로토콜  (0) 2024.06.01
Swift)고차함수 filter  (0) 2024.05.10
Swift) 고차함수 map  (0) 2024.05.09