티스토리 뷰

TIL

[TIL] 2022 / 07 / 26

희철 2022. 7. 26. 20:22

인스턴스 프로퍼티 vs 타입 프로퍼티

 

 

구조체, 클래스의 타입에 대해 인스턴스가 생성되었을때 사용이 가능한 것을 인스턴스 프로퍼티

 

인스턴스 프로퍼티는 인스턴스별로 다른 값을 가질 수 있음.

 

하지만 타입 프로퍼티는 타입 자체에 속하는 프로퍼티로, 인스턴스가 아무리 많아도 값은 하나.

-> 즉, 인스턴스와 무관.

 

 

저장 프로퍼티

 

 

주로 값을 저장하기 위한 목적으로 클래스나 구조체 내에서 정의된 변수나 상수

 

열거형은 인스턴스를 생성할 수 없으므로 저장 프로퍼티를 가질 수 없음.

 

클래스의 경우, 반드시 프로퍼티에 값을 초기화해야함.

 

 

지연 저장 프로퍼티

 

 

인스턴스가 생성되어도 호출하지않는다면 초기화되지않음.

 

lazy를 이용해 선언하는데 반드시 var여야함.

 

 

타입 저장 프로퍼티

 

 

저장 프로퍼티를 static을 붙여서 선언하면됨.

 

 

연산 프로퍼티

 

 

저장 프로퍼티와 달리 값을 초기화하고 저장할 수 있는 공간이 없음.

-> 이름 그대로 다른 프로퍼티의 값을 연산해서 리턴하는 역할.

 

연산  프로퍼티를 구현하기위해 저장 프로퍼티가 필요

-> 다른 프로퍼티의 값을 연산하는 역할이기 때문

 

getter와 setter가 있는데 setter만 사용할 순 없음.

 

인스턴스 내부의 값을 통해 계산한 값이 달라질 수 있으므로 var로 선언되어야함.

 

getter

get과 return을 생략할 수 있음.

 

setter는 연산 프로퍼티의 파라미터로 받은 값을 연산하여, 저장 프로퍼티에 그 값을 저장하는 역할을 함.

 

파라미터의 디폴트 인자명은 newValue이지만 set()의 괄호 안에서 다른 값으로 설정해도됨.

 

 

static을 이용해 타입 연산 프로퍼티도 선언 가능.

-> 대신 타입 저장 프로퍼티와 함께 사용되어야함.

 

 

연산 프로퍼티를 사용해 다마고치 코드 수정

-> 따로 정리해보기

 

 

프로퍼티에 대해서도 따로 정리할 예정

-> 공부하는중

 

'TIL' 카테고리의 다른 글

[TIL] 2022 / 07 / 28  (0) 2022.07.28
[TIL] 2022 / 07 / 27  (0) 2022.07.27
[TIL] 2022 / 07 / 25  (0) 2022.07.26
[TIL] 2022 / 07 / 24  (0) 2022.07.24
[TIL] 2022 /07 / 23  (0) 2022.07.23
댓글
최근에 올라온 글
Total
Today
Yesterday