Back End/Spring

[Java 웹개발 마스터] 스터디3. 왜 Getter, Setter 를 사용할까

쟈누이 2021. 1. 22. 15:34
반응형

보통 지금까지 짧은 경험을 한 바로는 웹 페이지를 만들 때 getter, setter 를 많이 사용하는 것 같았다.

보통 프로젝트(?)의 보안을 위해서 외부에서 객체 데이터들을 외부에서 직접 접근이 불가능게 만들어 놓는다. 즉 막아 놓는다고 생각하면 편할 것 같다.

이럴 때 보통 사용하는 방식이 private 를 통해 외부에서 접근을 막아두고 Getter, Setter 을 통해서 접근하는 것이라고 배운 것 같다. 

이렇게 하는 이유는 객체의 무결성 을 보장하기 위함인데, 무결성에 대한 설명은 아래 okky 링크를 참고하면 될것 같다. 설명이 잘 되어 있다.

okky.kr/article/716403?note=1979724

 

OKKY | 객체의 무결성이 무엇인가요?

Getter와 Setter를 사용하는 이유가 객체의 무결성을 보장하기 위함 이라고 하는데, 객체의 무결성 이라는게 무엇인가요?

okky.kr

그 중 객체 무결성에 대해서 설명이 가장 잘된 부분은 이것 같다

출처 : https://okky.kr/article/716403?note=1979724

 

외부에서 잘못된 값을 의도적으로 줄 경우, 프로젝트 내부의 객체 무결성이 깨지는 일이 일어날 수 있다. 이를 방지하기 위해, 필드를 private로 만들어 외부에서 임의로 프로젝트에 접근하는 것을 제한하거나 막은 후에,

 

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

Getter를 사용해 본 필드의 값을 숨긴 채 내부에서 가공된 값을 필드 필드로 가져오는 방식을 사용한다.

 

반응형