JAVA 기초공부

JAVA - 접근제어자

Dotae1 2025. 2. 15. 20:41

접근 제어자는 private < default < protected < public 순으로 보다 많은 접근을 허용한다. 하나씩 순서대로 살펴보자.

 

1. private

private가 접근 제어자로 설정되어 있다면 private가 붙은 변수나 메서드는 그 클래스 내부에서만 사용이 가능하다.

public class Sample {
    private String secret;
    private String getSecret() {
        return this.secret;
    }
}

 

secret변수와 getSecret()메서드는 Sample 클래스 내부에서만 사용이 가능하다.

 

2. default 

따로 접근제어자를 설정하지 않았다면 자동으로 default 제어자로 설정이 되며 같은 패키지내에서는 접근이 가능하다.

 

디렉토리 - house/HouseKim.java

package house;

public class HouseKim {
    String lastname = "kim";
}

디렉토리 - house/HousePark.java

package house;

public class HousePark {
    String lastname = "park";

    public static void main(String[] args) {
        HouseKim kim = new HouseKim();
        System.out.println(kim.lastname);
    }
}

 

HouseKim과 HousePark은 house라는 같은 패키지이기 때문에 default제어자로 설정된 kim.lastname에 접근이 가능하다.

 

3. protected

접근 제어자가 protected로 설정된 변수나 메서드는 동일 패키지 내에 클래스나 해당 클래스를 상속받은 클래스에서만 사용이 가능하다.

package house;

public class HousePark {
    protected String lastname = "park";
package house.person;
import house.HousePark;

public class EungYongPark extends HousePark {
    public static void main(String[] args) {
        EungYongPark e = new EungYongPark();
        System.out.println(e.lastname);
    }

}

 

4.public

접근 제어자가 public으로 설정되어 있다면 public이 붙은 변수나 메서드는 어떤 클래스에서도 사용이 가능하다.

public class HousePark {
    protected String lastname = "park";
    public String info = "this is public message";
import house.HousePark;

public class Sample {
    public static void main(String[] args) {
        HousePark housePark = new HousePark();
        System.out.println(housePark.info);
    }
}

 

접근제어자를 public으로 해도 프로그램은 작동하지만 실수 방지 & 위험 요소 방지등의 장점이 있다.

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

JAVA - 예외처리, try - catch문  (0) 2025.02.17
JAVA - static  (0) 2025.02.15
JAVA - package  (0) 2025.02.15
JAVA - 콘솔 입출력  (1) 2025.02.06
JAVA - 생성자  (1) 2025.02.05