티스토리 뷰

IT/Swift

Swift Structure

미닉길 2019. 4. 17. 16:54
반응형

오늘은 스위프트의 구조체에 대해서 알아보겠습니다.

 

struct 이름 {

    프로퍼티

 

    메서드

}

 

위와 같은 형태로 선언할 수 있습니다.

 

예를 들면 고양이 구조체는 아래와 같이 선언할 수 있습니다.

 

struct Cat {

    let name: String

    var age: Int

}

 

구조체는 자동으로 생성된 이니셜라이저를 통해 생성할 수 있습니다.

 

var yaong: Cat = Cat(name: "yaong", age: 5)

 

또는 아래와 같이 직접 이니셜라이저 메서드를 선언해줄 수 있습니다.

 

init (nameEntred: String) {

        name = nameEntred

        age = 1

}

 

직접 이니셜라이저 메서드를 선언해주면 기본으로 생성된 이니셜라이저는 사용하실 수 없습니다. 

 

위에서 인스턴스를 만들어주는 소스는 직접 만든 이니셜라이저를 따르지 않기 때문에 오류가 발생합니다.

 

직접 만든 이니셜라이저 메서드를 따라서 아래와 같이 인스턴스를 만드는 부분을 변경하였습니다.

 

var yaong: Cat = Cat(nameEntred: "yaong")

 

프로퍼티를 선언할 때 var로 선언해 가변 프로퍼티이면 아래와 같이 값을 변경하실 수 있습니다.

 

yaong.age = 2

 

lat으로 선언한 name 불변 프로퍼티는 변경할 수 없습니다.

 

또한 인스턴스를 만들 때 let 으로 선언한 불변 인스턴스라면 가변 프로퍼티라도 변경할 수 없습니다.

 

이상 기본적인 구조체의 구조에 대해서 알아봤습니다.

 

 

 

 

반응형

'IT > Swift' 카테고리의 다른 글

Swift Patterns and Pattern matching  (0) 2019.05.03
Swift Overriding and Overloading  (0) 2019.04.29
Swift Protocol and Polymorphism  (0) 2019.04.25
TDD 와 Swift 를 이용해 가상 Git 제작 하기 - 1  (0) 2019.04.22
Swift Property  (0) 2019.04.17
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함