티스토리 뷰

[C#] 속성 : 겟터와 셋터(get, set)키워드 알아보자

C#속성 get과 set


일반적으로 클래스를 만들 때 캡슐화를 위해서 private속성을 지정하여 클래스 밖에선 값을 수정할 수 없게 만듭니다. 하지만 필요로 인해서 값을 수정해야 하는데 수정하지 못한다면 어떻게 될까요?


 그래서 보통 클래스에서는 get과 set함수를 따로 만들어서 값을 수정하거나 가져올 수 있게 하는데요. C#에서는 따로 함수를 만들지 않아도 get과 set을 사용할 수 있는 방법이 마련되어있습니다. 바로 속성을 이용하는 방법입니다.

속성으로 getter setter 만들기

getter와 setter 만들기

 바로 위와 같은 클래스가 있다고 쳐 봅시다. 폰넘버라는 변수를 프리빗으로 지정해준 뒤 그 바로 밑에 빨간 네모칸 영역이 바로 속성영역입니다. 위와 같이 속성을 지정해 주시면 되겠습니다. 속성이름은 알기쉽게 변수명앞글자를 그냥 대문자로 바꿔줬습니다. (또 암묵적인 약속으로 속성명 첫 글자는 대문자로 해주어여 합니다.)


 get 부분에서는 값을 반환해주어야 하기 때문에 return을 사용해 줍니다. 또 set에서는 값을 설정해야 하므로 인자를 받아오는때 이 때 매개변수 역할 을 하는 것이 value라고 합니다. 위와같이 조건식을 사용해도 상관없습니다.


스패너아이콘

 위 코드는 속성을 사용하는 간단한 예입니다. 속성을 사용할 때 보면 변수와는 다르게 스패너같은 아이콘이라는 것을 확인 할 수 있습니다. 저런 스패너아이콘이 뜬다면 속성을 뜻하는 것 입니다.

C# prop, propfull 코드조각 단축키 사용하기

 간단한 코드 구현을 위해서는 코드조각을 이용해서 속성을 빠르게 입력할 수 있습니다. 코드조각이란 개발자가 코딩을 좀 더 쉽게 할 수 있도록 미리 코드를 조각으로 만들어 둔 것인데 속성에서 사용하는 코드조각은 이렇습니다.


prop,propfull 단축키

 위와 같은형식으로도 속성을 지정할 수 있습니다. 위에 있는 단축키를 통해서 쉽게 코드를 불러올 수 있죠. prop를 사용하는 첫 번째 코드는 보통 본인이 사용하기 싫어도 시스템상에서 보안 등의 사항으로 get과 set을 사용할 것을 권장하게되면 사용할 수 있는 코드라고합니다.


 이런 신비한 기능이 있다니 정말 신기하죠? 이번 글에서 게터와 세터에 대한 이해를 확실히 하고 넘어가시기 바랍니다. 이헤하지 못한 부분이 있다면 덧글남겨주세요. 제가 아는 한도 내로 설명해드리도록 하겠습니다.


super C#

인스턴스변수와 클래스변수

readonly 키워드를 알아보자

var 키워드는 무엇인가 (초기화, 사용법)

댓글
최근에 올라온 글
최근에 달린 댓글
네이버 이웃추가
«   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
글 보관함