프로그래밍/Java / / 2022. 8. 29. 10:00

[자바 - Java] 접근제어지시자, 정보은닉 - public, private, protected, default, get(), set(), this

이번 포스팅은 접근 제어와 정보은닉에 대한 포스팅입니다.

 

1. 접근 제어 지시자 (access modifier)

 

1) 클래스 외부에서 클래스의 멤버변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정

2) public : 클래스의 외부 어디서나 접근 할 수 있음.

3) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능. 그 외 외부에서는 접근 할 수 없음.

4) (아무 것도 없음 - default) : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가)

5) private : 같은 클래스 내부에서만 접근 가능, 외부 클래스나 상속관계의 클래스에서도 접근 불가

6) 변수나 메서드에 접근 제한자를 지정하면 접근을 제한 할 수 있음.

 


2. get() / set() 메서드

 

1) private으로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공

2) get() 메서드만 제공되는 경우 read-only 필드

 

 


3. 정보 은닉 (information hiding)

 

1) OOP에서 정보 은닉은 외부에서 접근 가능한 최소한의 정보를 오픈함.

2) 객체의 오류를 방지함으로써 클라이언트 객체가 더 효율적으로 활용할 수 있도록함.

 

 

 


 

4. 캡슐화 (endcapsulation)

 

1) 꼭 필요한 정보와 기능만 외부에 오픈함.

2) 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만 제공하여 일관된 기능을 구현하게 함.

 


 

5. 객체 자신을 가리키는 this

 

1) 역할

- 인스턴스 자신의 메모리를 가리킴

- 생성자에서 또 다른 생성자를 호출 할 때 사용

- this()

- 자신의 주소(참조값)를 반환함.

2) 생성자에서 다른 생성자를 호출하는 this()

 - 클래스에 생성자가 여러 개인 경우, this()를 이용하여 생성자에서 다른 생성자를 호출할 수 있음.

 - 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this()이전에 다른 statement를 쓸 수 없음.

 

LIST
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유