Swift

swift: 구조체

소재훈 2022. 1. 21. 18:11

구조체는 struct 키워드로 정의한다. 구조체를 정의한다는 것은 새로운 타입을 생성해 주는 것과 마찬가지 이므로, Int, String과 같이 대문자 카멜 케이스를 사용하여 이름 짓는다.

struct [구조체 이름] {
	[프로퍼티와 메서드들]
}

사람의 이름과, 나이로 이루어진 구조체를 BasicInformation이라는 이름으로 정의해보자. 이 구조체는 String 타입인 name과 Int타입인 age 프로퍼티로 이루어진다.

struct BasicInformation {
    var name: String
    var age: Int
}

 

구조체를 정의한 후 인스턴스를 생성하고  초기화하기 위해서는 멤버 와이즈 이니셜 라이저를 사용하는데, 직접 생성해 주지 않으면 구조체의 프로퍼티를 바탕으로 기본 생성된 이니셜 라이저를 사용한다. 프로퍼티 이름(name, age)으로 자동 생성된 이니셜 라이저를 사용하여 구조체를 생성한다.

구조체를 var로 선언된 경우에는 내부의 프로퍼티 값을 변경해 줄 수 있다. let으로 선언된 경우에는 상수로 취급되어 값을 변경할 수 없다.

var JaehoonInfo: BasicInformation = BasicInformation(name: "Jaehoon", age: 24)
JaehoonInfo.age = 25
JaehoonInfo.name = "Jaehoon So"

let PersonInfo: BasicInformation = BasicInformation(name: "Person", age: 45)
PersonInfo.age = 100 // 변경불가
PersonInfo.name = "jenny" // 변경불가

 

'Swift' 카테고리의 다른 글

swift: 구조체와 클래스의 차이  (0) 2022.01.21
swift: 클래스  (0) 2022.01.21
swift: 옵셔널(Optional)  (0) 2022.01.21
swift: 함수 데이터타입  (0) 2021.12.27
swift: 함수와 매개변수  (0) 2021.12.27