Java의 기본 액세스 수정자

Rupam Yadav 2023년10월12일
Java의 기본 액세스 수정자

이 튜토리얼에서는 Java의 기본 액세스 수정자에 대해 설명합니다. 이름은 변수나 함수로 아무도 지정하지 않을 때 액세스 수정자가 사용됨을 나타냅니다.

Java의 기본 액세스 수정자

Java에는 access 수식어의 4가지 유형인 private, protected, publicdefault가 있습니다. default access 수식어를 이해하려면 다른 조건에서 이 수식어와 다른 수식어가 필요한 이유를 알아야 합니다.

private access 수정자는 동일한 클래스에 대한 액세스만 허용하므로 가장 엄격합니다. class 변수나 함수가 우리가 속한 클래스 외에 다른 곳에서는 미래에 사용되지 않을 것이라는 것을 모를 때 사용합니다.

protected access 수정자는 클래스 또는 동일한 패키지 내에서 액세스를 허용하지만 다른 패키지의 하위 클래스만 액세스할 수 있습니다.

패키지의 모든 클래스에서 사용할 수 있기를 원하지만 다른 패키지 액세스는 원하지 않을 때 사용됩니다.

짐작할 수 있듯이 public access 수정자는 전역 액세스를 허용합니다. 즉, 다른 패키지에서도 어디서나 액세스할 수 있습니다.

default access 수정자는 위의 것을 사용하지 않을 때 작동합니다. 접근 수준은 동일한 패키지로 제한되며, 다른 패키지는 하위 클래스를 생성하여도 접근할 수 없습니다.

default access 수식어의 예와 작동 방식을 살펴보겠습니다. ExampleClass1ExampleClass2라는 두 개의 클래스가 있습니다. 첫 번째 클래스에는 randomString이라는 액세스 수정자가 없는 변수가 포함되어 있습니다.

이제 ExampleClass2 클래스에서 ExampleClass1의 개체를 만들어 randomString 변수에 액세스하고 함수를 생성합니다. 우리는 할 수 있으며 오류는 없습니다. 두 클래스가 동일한 패키지에 있기 때문에 발생합니다.

클래스 맨 위에 있는 패키지 이름 com.package를 확인하십시오.

Java에서 ExampleClass1 사용

package com.tutorial;

public class ExampleClass1 {
  String randomString = "This is a string from Example Class1";

  public static void main(String[] args) {
    String getReturnedString = new ExampleClass2().functionWithDefaultAccessModifier();
    System.out.println(getReturnedString);
  }
}

Java에서 ExampleClass2 사용

package com.tutorial;

public class ExampleClass2 {
  String functionWithDefaultAccessModifier() {
    return new ExampleClass1().randomString;
  }
}

출력:

This is a string from Example Class1

randomString은 위의 시나리오에서 동일한 패키지의 다른 클래스에서 액세스할 수 있습니다.

그러나 다른 패키지 com.tutorial2에 있는 클래스에서 com.tutorial 패키지에 있는 ExampleClass1randomString 변수에 액세스하려고 하면 IDE에서 오류가 발생합니다. randomString은 공개되지 않으며 패키지 외부에서 액세스할 수 없습니다.

작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn