오늘은 스위프트의 구조체에 대해서 알아보겠습니다.
struct 이름 {
프로퍼티
메서드
}
위와 같은 형태로 선언할 수 있습니다.
예를 들면 고양이 구조체는 아래와 같이 선언할 수 있습니다.
구조체는 자동으로 생성된 이니셜라이저를 통해 생성할 수 있습니다.
var yaong: Cat = Cat(name: “yaong”, age: 5)
또는 아래와 같이 직접 이니셜라이저 메서드를 선언해줄 수 있습니다.
직접 이니셜라이저 메서드를 선언해주면 기본으로 생성된 이니셜라이저는 사용하실 수 없습니다.
위에서 인스턴스를 만들어주는 소스는 직접 만든 이니셜라이저를 따르지 않기 때문에 오류가 발생합니다.
직접 만든 이니셜라이저 메서드를 따라서 아래와 같이 인스턴스를 만드는 부분을 변경하였습니다.
var yaong: Cat = Cat(nameEntred: “yaong”)
프로퍼티를 선언할 때 var로 선언해 가변 프로퍼티이면 아래와 같이 값을 변경하실 수 있습니다.
yaong.age = 2
lat으로 선언한 name 불변 프로퍼티는 변경할 수 없습니다.
또한 인스턴스를 만들 때 let 으로 선언한 불변 인스턴스라면 가변 프로퍼티라도 변경할 수 없습니다.
이상 기본적인 구조체의 구조에 대해서 알아봤습니다.