반응형
struct란?
struct는 클래스의 특별한 형태로, 데이터를 저장하기 위해 만들어지는 특별한 클래스이다. struct를 사용해 여러 변수들을 결합해 하나의 타입을 만들 수 있다.
*자바의 POJO나 코틀린의 data class와 같다.
struct만들기
struct는 다음 세가지 원칙을 이용해 만들어진다.
- struct에서 결합되는 변수들은 property라 부른다.
- struct 내부에 func을 넣을 수 있다.
- 생성자를 사용해 struct를 초기화 할 수 있으며 커스텀 생성자는 init()함수를 이용해 만들 수 있다.
위 세가지를 적용하면 Struct는 다음과 같이 만들어진다된다. 각 변수(property)에 이름을 부여할 수 있어 가독성이 좋아진다.
struct StructName {
let property1: Type1
var property2: Type2
init(_property1: Type1, _property2: Type2) {
property1 = _property1
property2 = _property2
}
func printProperty1(){
print("property1 : \(property1)")
}
}
물론 다음과 같이 기본 값을 설정할 수도 있다.
struct StructName {
let property1: Type1 = defaultValue
var property2: Type2
init(_property2: Type2) {
property2 = _property2
}
func printProperty1(){
print("property1 : \(property1)")
}
}
struct 예시
사람은 이름, 나이, 체온으로 이루어져 있는데 이를 이름, 나이, 체온 을 프로퍼티로 사용하는 사람이라는 struct를 만들 수 있다.
추가적으로 struct에 사람이 아픈지 확인하는 func을 추가한다.
struct Person {
let name: String
let age: Int
let temperature: Float
init(_name: String, _age: Int, _temperature : Float) {
name = _name
age = _age
temperature = _temperature
}
func isSeek() -> Bool {
return temperature > 37.5
}
}
이렇게 하면 사람 객체를 다음과 같이 만들 수 있다.
let person = Person(_name : "DevCho",_age: 29,_temperature: 38.0)
자 이제 만든 사람 객체를 가지고 사람이 아픈지 확인해보자. 사람의 체온이 38도이므로 아픈것이 true로 출력되는 것을 확인할 수 있다.
반응형
'IOS > Swift' 카테고리의 다른 글
[Swift] Struct와 Class의 차이는 무엇인가? (0) | 2021.12.20 |
---|---|
[Swift] struct 내부에서 변수값 변경하기 (0) | 2021.12.19 |
[Swift 제어문] switch case 사용해 다중 조건 처리하기 (0) | 2021.12.19 |
[Swift 제어문] if 문 다루는 방법 한 번에 정리하기 (0) | 2021.12.19 |
[Swift] Optional을 다루는 다양한 방법 : nil 다루기 (0) | 2021.12.19 |