IT수업/JAVA PART1

IT 수업 11주차 (20) 객체지향_정보은닉(getter,setter)

워제하 2024. 3. 6. 13:48

● 정보은닉

객체지향언어적 요소를 활용하여 객체에 대한 구체적인 정보를 노출시키지 않도록 하는 기법

기법에는 대표적으로 3가지가 있다.

- 업캐스팅 : 객체의 구체적인 타입 은닉

- 캡슐화 : 객체의 필드 및 메소드 은닉

- 인터페이스 & 추상 클래스 : 구현 은닉

 

 

● 접근 한정자
 : 멤버 or 클래스의 접근범위를 제한을 위한 예약어
- public               : 모든 클래스에서 접근 가능
- private              : 해당 클래스에서만 접근 가능
- protected          : 상속 관계를 가지는 경우에 접근가능
- default(기본)     : 동일 패키지에 속한 클래스에서 접근가능
                             (다른 패키지에서 사용하고 싶으면 import를 사용하여 특정위치를 나타내면 된다.)

 

 

객체를 생성 할 때는 직접 접근하지 못하도록 private하게 주는 것이 좋다.

ob1. 하면 원래 자동으로 생기는데 없어진 것을 볼 수 있다.

 

< 실행화면 >

getter, setter를 사용할 땐 중간에 대문자를 써주는 것이 관례이다. (ex.getName)

 

 

 

 

● 자동으로 getter, setter 만들기

 

getter() : 설정한 변수 값을 읽어오는데 사용, 값을 가공한 이후 외부로 전달하는 역할을 하기도 함

setter() : 외부에서 메서드에 접근하여 조건에 맞을 경우 데이터 값을 변경할 수 있도록 함

 

setter 메서드를 사용하여 데이터의 값을 저장하고, getter 메서드를 통해 해당 데이터 값을 불러와 변수에 담아 출력한다.

저장하는 용도로만 사용하려면 기본설정만 사용해도 됨

 

데이터를 넣고 수정 안하려면 setter를 빼면 되고 

내부적으로만 확인하려면 getter를 빼면 된다.

 

generate하면 이렇게 자동으로 getter, setter가 나온다.