[JAVA] getter와 setter를 사용하는 이유

2024. 2. 20. 13:15언어(Language)/JAVA

 

일반적으로 프로그래밍을 할 때, 객체들의 데이터(필드)를 외부에서 직접적으로 접근하는 것을 막아놓는다.

필드들을 private 접근 제한자로 막아두고, 각 필드의 Getter, Setter로 접근하는 방식을 사용한다.

이렇게 프로그램을 하는 이유는 객체의 무결성을 보장하기 위해서이다.

 

예를 들어 Man이라는 클래스에 weight(몸무게)라는 필드가 존재할 때, weight는 0보다 작을 수 없으나, 

외부에서 직접적으로 접근할 경우, weight에 -100이라는 값을 줌으로써 객체의 무결성이 깨지는 일이 발생한다.

 

클래스의 필드에 직접 접근하는 것을 막기 위해서 getter와 setter를 사용한다.


Getter & Setter 사용 방법

이를 방지하기 위해, 필드를 private로 만들어 외부의 접근을 제한한 후,

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

 

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

Getter를 사용해 본 필드의 값을 숨긴 채 내부에서 가공된 값을 꺼내서 사용하면 된다.

'언어(Language) > JAVA' 카테고리의 다른 글

[JAVA] Map & HashMap  (1) 2024.02.20
[JAVA] 제네릭(Generic)이란?  (0) 2024.02.20
[JAVA] Long과 long의 차이  (0) 2024.02.20
[JAVA] 생성자(Constructor)와 초기화  (0) 2024.02.19
[JAVA] StringBuilder 사용법과 주요 메소드  (0) 2024.02.19