구조체는 데이터를 저장하고 관련 기능을 캡슐화하는 데 사용되는 사용자 정의 데이터 타입이다.
구조체는 프로퍼티와 메서드를 가질 수 있다.
말로 설명하는거 보다 예시가 직빵이다.
생김새
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 |