쯔이's Dev

접근지정자 본문

JAVA/기초

접근지정자

jjhim531 2024. 7. 14. 01:15
반응형

* 클래스, 메서드, 변수, 생성자 등에 대한 접근 권한을 제어하는데 사용됨.

* 코드의 캡슐화를 통해 데이터은닉을 가능하게 함.

* 클래스 간의 결합도를 낮추어 유지보수성을 높여줌.

* 코드의 가독성을 높임.

< 종류>

1. private

* 정의 : 해당 클래스 내에서만 접근 가능함.

* 특징 

- 외부 클래스에서는 접근 불가능

- 같은 클래스 내부의 메서드만 접근이 가능.

2. default

* 정의 : 접근 지정자를 명시하지 않은 경우. 같은 패키지 내에서만 접근 가능함.

* 특징 :

- 동일 패키지 내의 다른 클래스에서 접근 가능

- 다른 패키지에서는 접근 불가능.

3. protected

* 정의 : 동일 패키지 내의 클래스 및 해당 클래스를 상속받은 자식 클래스에서 접근 가능.

* 특징 

- 같은 패키지 내의 클래스에서 접근 가능.

- 다른 패키지의 자식 클래스에서도 접근 가능.

- 다른 패키지의 비자식 클래스에서는 접근 불가능.

4. public

* 정의 : 모든 클래스에서 접근 가능.

* 특징 

- 어디서나 접근 가능.

- 모든 클래스, 패키지에서 접근 가능.

EX)

public class Example {
    private int privateVar;  // 해당 클래스 내부에서만 접근 가능
    int defaultVar;          // 동일 패키지 내에서만 접근 가능(동일패키지의 다른 클래스에서 접근가능)
    protected int protectedVar; // 동일 패키지 + 자식 클래스에서 접근 가능
    public int publicVar;    // 모든 클래스에서 접근 가능

    private void privateMethod() {
        // 해당 클래스 내부에서만 호출 가능
    }

    void defaultMethod() {
        // 동일 패키지 내에서만 호출 가능
    }

    protected void protectedMethod() {
        // 동일 패키지 + 자식 클래스에서 호출 가능
    }

    public void publicMethod() {
        // 모든 클래스에서 호출 가능
    }
}

< 요약 >

접근지정자 동일 클래스 동일 패키지 자식 클래스 다른 패키지
private O X X X
default O O X X
protected O O O X
public O O O O

 

 

728x90
반응형

'JAVA > 기초' 카테고리의 다른 글

변수명이 같을 때  (0) 2024.09.11
변수의 종류  (0) 2024.07.13
자바 기초(3) - Scanner, 출력메소드  (1) 2024.07.08
자바 기초(2) - 변수, 상수, 선언, 초기화  (0) 2024.07.07
JAVA 기초 (1) - 프로그래밍 순서, 주석  (0) 2024.07.06