접근 지정자

Develope/Java 2020. 5. 10. 18:27
반응형

※ 접근 지정자

 : JAVA와 같은 객체 지향 언어의 경우 접근 지정자가 존재한다. 이는 객체를 캡슐화하기 때문으로서, 다른 객체가 접근하는 것을 허용할 것인지 아닌지에 대해 지정할 필요가 있다.


 - 자바에서의 접근 지정 방식은 총 4개이다.

 1) private

 2) protected

 3) public

 4) 접근 지정자 생략(default)


※ 클래스 접근 지정자

 : 클래스 접근 지정이란 다른 클래스에서 해당 클래스 이름을 사용할 수 있는지 허용 여부를 지정하는 것을 말한다.

 : 클래스 접근 지정자는 클래스 선언 부분에 작성되며 publicdefault 2가지가 있다.


 - public : public으로 선언된 클래스는 다른 클래스에서도 사용할 수 있다.

 - 접근 지정자 생략(default) : 같은 패키지 내에 있는 클래스들만이 default 접근 지정자로 선언된 클래스로의 접근이 허용된다.


※ 멤버 접근 지정자

 : 클래스의 멤버인 필드와 메소드의 접근 지정자는 총 4가지가 있다.

멤버에 접근하는 클래스

멤버 접근 지정자

public

protected

private

default

같은 패키지의 클래스

O

O

X

O

다른 패키지의 클래스

O

X

X

X


 - public : 패키지의 내부, 외부 등 모든 클래스에서 해당 멤버에 접근이 가능

 - private : 비공개를 의미하는 것으로, 같은 클래스 내부 멤버에 의해서만 접근이 가능

 - protected : 보호된 공개를 의미하는 것으로, 두 가지 경우의 클래스에만 공개

  1) 같은 패키지 내의 모든 클래스에서 접근 가능

  2) 다른 패키지의 클래스라도 해당 클래스를 상속받은 자식 클래스의 경우 접근 가능

 - default(또는 package-private) : 접근 지정자가 생략된 경우 default 접근 지정자가 선언되었다고 하며, 이 경우 동일한 패키지 내에 있는 모든 클래스는 default 멤버에 자유롭게 접근이 가능함.


※ get/set 메소드

 private 접근 지정자로 되어 있는 경우, 해당 멤버에는 접근이 불가능하다. 이를 위해 해당 클래스에서 get, set 메소드를 다른 접근 지정자로 생성하여 해당 멤버들에 접근이 가능하도록 만들어준다.

1
2
3
4
5
6
7
8
9
10
11
class rootable{
    private int id;
 
    public int getId(){
        return id;
    }
    
    public int setId(int value){
        id=value;
    }
}
cs


반응형

'Develope > Java' 카테고리의 다른 글

final  (0) 2020.05.11
static 멤버  (0) 2020.05.11
가비지와 가비지 컬렉션  (0) 2020.05.10
생성자(constructor)  (0) 2020.05.09
메소드 오버로딩과 this  (0) 2020.05.06
블로그 이미지

rootable

,