[Java] 캡슐화란?

charco·2021년 7월 22일
0

재미코딩

목록 보기
6/10

캡슐화.. getter setter 메서드 모두 익숙하고
무의식적으로 캡슐화를 자주 했었는데
사실 정의가 어떻게 되는지
그리고 캡슐화를 했을때의 장점을 모르고 있었다.
Javatpoint의 글을 번역해보며 알아봤다.

출처 : https://www.javatpoint.com/encapsulation

자바의 캡슐화(Encapsulation) 💊

캡슐은 여러 약들이 섞여 하나의 약(?)에 들어있는 것이다.
자바에서 캡슐화란 코드와 데이터들을 하나의 유닛으로 감싸는 과정이다.

자바에서는 클래스의 모든 데이터 멤버들을 private 으로 만듦으로써 완전히 캡슐화된 클래스를 만들 수 있다. 그리고 setter 와 getter 메서드를 통해 데이터를 조회하고 수정할 수 있다. Java Bean 클래스가 예다.

캡슐화의 장점

getter, setter 메서드를 통해 클래스를 read-only 또는 write-only로 만들 수 있다.
이 말은 getter setter 을 필요에 따라 생략할 수 있다는 것이다.

  • 데이터를 통제할 수 있다.
    만약 당신이 id 라는 값에 대해 100 이상의 숫자만 넣고 싶다고 해보자.
    setter 에 그에 대한 로직을 넣으면 된다.

  • 데이터를 은닉할 수 있다.
    private 에 대한 데이터는 다른 클래스가 접근할 수 없다.

  • 테스트하기가 쉽다.
    단위테스트하기가 쉽다.

profile
아직 배우는 중입니다

0개의 댓글