※ 접근 지정자
: JAVA와 같은 객체 지향 언어의 경우 접근 지정자가 존재한다. 이는 객체를 캡슐화하기 때문으로서, 다른 객체가 접근하는 것을 허용할 것인지 아닌지에 대해 지정할 필요가 있다.
- 자바에서의 접근 지정 방식은 총 4개이다.
1) private
2) protected
3) public
4) 접근 지정자 생략(default)
※ 클래스 접근 지정자
: 클래스 접근 지정이란 다른 클래스에서 해당 클래스 이름을 사용할 수 있는지 허용 여부를 지정하는 것을 말한다.
: 클래스 접근 지정자는 클래스 선언 부분에 작성되며 public과 default 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 |