인프런 커뮤니티 질문&답변
set,get 질문드립니다!
작성
·
256
0
부모 클래스에서 m_value 같은 변수를 private로 두고 자식클래스에서 GetValue() SetValue()와 같은 함수로 접근하는 방법에 대해 궁금한게 있습니다. 일단 이런식으로 우회해서 멤버 변수에 접근하는 이유가 무엇인가요?? SetValue()나 GetValue()하나를 막는다면 읽기만 하거나 쓰기만 하는것으로 이해 할 수 있는데, 둘 다 사용이 가능하다면 m_value에 직접 접근하는것과의 차이가 있을까요 ?
답변 1
1
홍정모
지식공유자
인프런 시스템의 특성상 질문을 댓글로 적어주셔야 제가 동영상을 보면서 대답을 드릴 수 있습니다.
getter/setter라고 부르고 검색해보시면 여러가지 이유가 있습니다만, 클래스의 encapsulation을 강화하기 위해서입니다. 의도치 않은 곳에서 변수를 건드리지 못하게 하려는 의도입니다. 연구용 코드나 프로토타이핑할 때는 번거롭기 때문에 getter/setter를 사용하기 보다는 모두 public으로 두고 멤버 변수를 직접 사용하기도 합니다. 물론, 이런 것을 '기술 부채'라고 볼 수도 있습니다.





