티스토리 뷰

C#

[C#]Property

이경로 2023. 7. 12. 06:05

객체지향 프로그래밍의 특징 중 하나인 은닉성은, 불필요한 정보를 숨기는 것이다.

중요한 데이터를 private으로 숨기고, 아래와 같이 getter와 setter를 사용해 데이터에 접근 & 변경할 수 있도록 해준다.

 

하지만 필드가 많아지게 되면 매번 getter, setter를 선언하기가 번거로울 것이다. 그래서 C#에는 property라는 기능을 지원하여 불편함을 덜어 주었다.

getter와 setter를 한 곳에 묶어 둠으로써 가독성이 좋아지고, get과 set을 할 때 호출법이 동일하다.

심지어 getter와 setter의 기능이 일반적인 return hp, hp = value일 경우 메소드의 내용과 private 필드 자체를 생략할 수 있다. 생략을 마친 형태는 이렇다.

 

어짜피 기존 데이터는 private이기 때문에 외부에서 절대 호출할 수 없고, 항상 HP로만 호출되기 때문에 아예 변수 선언 자체를 생략해 버린 것이다. 이때는 컴파일러가 내부에서 자동으로 변수를 선언하고 사용한다. 개인적으로 첫 번째 형태는 크게 메리트를 느끼지 못했는데 마지막 형태는 상당히 파격적이라고 느껴진다.

 

'C#' 카테고리의 다른 글

[C#]Func, Action  (0) 2023.07.14
[C#]Delegate, Event  (0) 2023.07.14
[C#]Abstract Class & Interface  (0) 2023.07.12
[C#]object 타입  (0) 2023.07.12
[C#]리스트  (0) 2023.07.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함