본문 바로가기

Dev-/Java

Getter, Setter를 사용하는 이유

일반적으로 프로그래밍을 할 때,

객체들의 데이터(필드)를 외부에서 직접적으로 접근하는 것막아놓습니다.


필드들을 private 접근 제한자로 막아두고,

각 필드의 Getter, Setter로 접근하는 방식을 사용합니다.


이렇게 프로그래밍 하는 이유는 객체의 무결성을 보장하기 위함입니다.



예를들어 Man이라는 클래스에 weight(몸무게)라는 필드가 존재할 때

weight는 0보다 작을 수 없으나, 


외부에서 직접적으로 접근할 경우,

weight에 -100이라는 값을 줌으로써 객체의 무결성이 깨지는 일이 발생합니다.




이를 방지하기 위해,

필드를 private로 만들어 외부의 접근을 제한한 후,

Setter를 사용해 전달받은 값을 내부에서 가공 필드에 넣어주는 방식을 사용하고


마찬가지로 필드 값을 가져올 때도,

Getter를 사용해 본 필드의 값을 숨긴 채

내부에서 가공된 값을 꺼낼 수 있습니다.

'Dev- > Java' 카테고리의 다른 글

프로세스, 스레드  (0) 2018.08.22
Java equals(), hashCode()의 차이  (0) 2018.08.22
인터페이스, 추상 클래스의 차이  (0) 2018.08.21
Java 용어 정리  (0) 2018.08.21
Java 작동 원리, 특징  (0) 2018.08.21