안녕하세요. 도미닉입니다.
오늘은 Getter 와 Setter 에 대해서 알아보고자 합니다.
게터와 세터라는 단어를 프로그래밍 하다보면 들어보셨을 것입니다.
이것들이 무엇이고 왜 사용하는지 알아보도록 하겠습니다.
Getter 란 무엇인가?
게터는 번역하면 “얻는 사람” 입니다.
얻어오는 역할을 하는 무언가라고 이해할 수 있습니다.
Getter 의 구현 방법은 무엇인가?
- 메소드를 사용해서 아래와 같이 게터를 구현해줄 수 있습니다.
- 읽기 전용 연산 프로퍼티를 사용해서 아래와 같이 게터를 구현해줄 수 있습니다.
Setter 란 무엇인가?
세터는 번역하면 “설정하는 사람” 입니다.
설정하는 역할을 하는 무언가라고 이해할 수 있습니다.
Setter 의 구현 방법은 무엇인가?
- 메소드를 사용해서 아래와 같이 세터를 구현해줄 수 있습니다.
- 연산 프로퍼티를 사용해서 아래와 같이 세터를 구현해줄 수 있습니다.
연산 프로퍼티의 특성상 Setter 만 구현할 수는 없고 Getter 와 함께 사용해야 합니다.
Getter 와 Setter 를 사용하는 이유는 무엇인가?
객체지향이 익숙해지면서 캡슐화라는 개념이 중요해졌습니다.
객체가 내부적으로 어떻게 동작하는지 다른 객체에게 알리지 않는 것이 좋다는 개념입니다.
이에 따라 어떤 프로퍼티가 있는지 숨기는 private 접근연산자를 사용하는 경우가 많아졌습니다.
private 접근연산자를 자주 사용함에 따라 불편함이 생겼는데요.
통신을 위하거나 순수하게 데이터만을 가진 객체의 값을 편하게 사용할 수 없게 된 것입니다.
이에 따라 Getter, Setter 가 필요하게 되었습니다.
정리
게터와 세터에 대해서 알아봤습니다.
객체지향 관점에서 게터와 세터를 자주 사용하는 것은 좋은 방법은 아닙니다.
프로퍼티에 직접 접근하는 것과 별반 차이가 없기 때문입니다.
하지만 DTO 나 VO 를 구현할 때는 잘 활용할 수 있습니다.
DTO 나 VO 에 대해서 궁금하시다면 아래 링크 확인해주세요.
http://kiljh.me/2019/09/10/DTOvsVO/
글 읽어주셔서 감사합니다.