swift문법

속성과 메서드 한번에 정리. 이젠 까먹지 말자.

화찌님 2024. 1. 8. 20:34

1. 속성

(1) 저장속성

우리가 흔히 쓰는것..

(2) 지연속성

- lazy var를 사용한다.

- 초기값을 꼭 세팅 해주어야 한다.

- init에서 초기화를 하지 않는다.

- 접근 할 때 그 순간 해당 저장속성만 메모리에 할당된다.

- 쓰는이유: 메모리를 많이 사용하거나, 다른 속성을 이용할때 주로 쓴다.

(3) 계산속성

- var 변수명: 타입{ 

     get {

 

     }

     set {

            newValue를 사용. 

     }

}

- get쪽은 필수적으로 구현해야함

- 값을 얻을때 get실행, 값을 세팅할때 set실행

- 속성 형식의 사실상 메서드

- 메서드라 인스턴스에 메모리공간을 사용하지 않음. 데이터영역에 메서드처럼 클래스에 달려있음.

(4) 타입속성

- static을 앞에 붙인다. 타입에 선언된 속성이라 접근할때도 >> 타입.저장타입속성 << 이렇게 접근해야한다.

- 계산타입속성도 있는데, 계산속성에서 static만 붙였다 생각하면 된다.

(5)속성감시자

- willSet(속성이 바뀌기 전 실행)과 didSet(속성이 바뀐 후 실행)이 있는데 대체로 didSet을 더 자주 쓴다.

- 형식은 계산속성이랑 비스무리하게 해라..

 

2. 메서드

(1) 인스턴스 메서드

우리가 잘 아는 그것..

(2) 타입 메서드

- static을 붙인 메서드. 위에서 설명했듯이 타입 안에 딸려있는 메서드라 생각하면 편함

- 타입 저장속성에 접근이 가능. (클래스.타입저장속성 말고도 타입메서드는 그냥 쌩 타입저장속성을 사용해도 된다)

- static은 상속시 재정의 불가능

- class는 상속시 재정의 가능

(3) 서브스크립트

subscript(index: Int) -> String {

	get {

   	}
    	set {
    	
   	 }
}

얘는 func을 붙일 필요도 없이 그저 서브스크립트를 선언하여 겟셋을 지정한다.

이 서브스크립트는 대괄호[ ]로 사용이 가능하다.

 

 

'swift문법' 카테고리의 다른 글

[SWIFT]백준 1316 그룹단어체커  (0) 2022.12.24
[Swift] Part17_중첩타입  (0) 2022.08.28
[Swift] Part16_메서드 디스패치  (0) 2022.08.25
[Swift] Part15_프로토콜  (0) 2022.08.24
[Swift] Part14_확장(Extensions)  (0) 2022.08.23