JAVA/포스팅

자바 default 제어자

짜집퍼박사(짜박) 2023. 11. 11. 19:27

default 제어자는 자바에서 접근 제어를 설정하는 데 사용되며, 해당 멤버(변수, 메서드 등)를 동일 패키지 내에서만 접근 가능하도록 합니다. default 제어자는 별도의 제어자를 명시하지 않으면 기본적으로 적용되는 제어자입니다.

 

1. default 제어자 사용 예제

 

1.1. 변수에 default 제어자 사용

// Example.java
class Example {
    int defaultVar;

    Example(int initialValue) {
        this.defaultVar = initialValue;
    }
}

default 제어자를 가진 변수는 해당 클래스 내부와 동일 패키지 내의 클래스에서만 접근할 수 있습니다.

 

1.2. 메서드에 default 제어자 사용

// Example.java
class Example {
    int defaultVar;

    Example(int initialValue) {
        this.defaultVar = initialValue;
    }

    void defaultMethod() {
        System.out.println("This is a default method.");
    }
}

default 제어자를 가진 메서드도 해당 클래스 내부와 동일 패키지 내의 클래스에서만 접근할 수 있습니다.

 

1.3. 패키지 내에서의 활용

// AnotherClassInSamePackage.java
class AnotherClassInSamePackage {
    public static void main(String[] args) {
        Example example = new Example(42);
        System.out.println(example.defaultVar);
        example.defaultMethod();
    }
}

위의 예제에서 AnotherClassInSamePackage 클래스는 Example 클래스의 default 멤버에 접근할 수 있습니다.

 

2. default 제어자의 특징

 

- default로 선언된 멤버는 동일 패키지 내의 클래스에서만 접근 가능합니다.
- 패키지 외부에서는 default 멤버에 직접 접근할 수 없습니다.

// OutsidePackage.java
import package_name.Example;

public class OutsidePackage {
    public static void main(String[] args) {
        Example example = new Example(42);
        // 아래 두 줄은 에러를 발생시킴
        System.out.println(example.defaultVar);
        example.defaultMethod();
    }
}

위의 예제에서 OutsidePackage 클래스는 Example 클래스의 default 멤버에 직접 접근할 수 없습니다.

 

3. 주의사항

 

- default 제어자는 다른 제어자를 명시하지 않은 경우에 자동으로 적용되기 때문에 특별한 경우가 아니라면 명시적으로 사용되지 않습니다.
- 캡슐화(Encapsulation)를 위해 적절한 접근 제어를 고려하여 사용해야 합니다. 필요한 경우에만 default 제어자를 사용하는 것이 좋습니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 final 제어자  (0) 2023.11.12
자바 private 제어자  (0) 2023.11.11
자바 protected 제어자  (0) 2023.11.11
자바 public 제어자  (0) 2023.11.11
자바 제어자(modifier)  (0) 2023.11.11