Categories: Java 언어Korean

Java 총 정리[60. 접근 제한자 예제]

접근 제한자 사용

이전 걸음에서 접근 제한자에 대한 설명을 공부를 했습니다. 그러면 이번 걸음에서는 당연히 사용을 하는 방법에 대해서 공부를 해야 된다고 생각이 들겠죠? 저 또한 접근 제한자의 사용 및 활용을 해야 한다고 생각을 하고 있습니다. 이번 글을 통해서 접근 제한자의 활용과 사용을 보시기를 바랍니다.

접근 제한자를 소스를 통해서 어떻게 사용을 하며 활용을 하는 방법을 이번 걸음에서 배울 수 있습니다. 이번 접근 제한자는 사용을 하면 바로 적용이 되기 때문에 어렵지 않게 활용을 하실 수 있습니다.

접근 제한자에서 public, protected, default, private에 대한 예제 소스를 구현하고 그 소스에 대한 설명을 이번 육십 걸음에서 하도록 하겠습니다. 이전 걸음과 이번 걸음을 같이 보시면 접근 제한자에 대해서 완벽하게 이해하고 사용을 할 수 있습니다.

public

    
class A{
    public int a;
    public void print(){
        //private int b; 메소드 변수 또는 지역 변수는 사용 X
        System.out.println("A");
    }
}

public class PublicTest {
    public static void main(String[] args) {
        A a = new A();
        a.a = 10;
        a.print();
    }
}
    

public은 누구나 사용을 할 수 있는 접근 제한자 입니다.

protected

    
class A{
    protected int a;
    protected void print(){
        //protected int b; 메소드 변수 또는 지역 변수는 사용 X
        System.out.println("A");
    }
}

//같은 패키지 아닙니다.
class B extends A{
    B(){
        a = 10;
        print();
    }
}
    

protected는 상속 받은 자식만 사용을 할 수 있게 됩니다. 만약에 default인 상황이 되면 default는 같은 패키지 여서 사용이 가능 할 수 있기 때문에 상황을 꼭 확인 이 필요 합니다.

default

    
class A{
    int a; //default
    void print(){ // default
         int b; // 접근 제한자가 없게 사용은 당연히 가능합니다.
        System.out.println("A");
    }
}

public class PublicTest {
    public static void main(String[] args) {
        A a = new A();
        a.a = 10;
        a.print();
    }
}
    

default는 같은 패키지에서 사용이 가능 합니다. 하지만 패키지가 달라지면 사용을 할 수가 없습니다. 이때 default는 접근 제한자를 쓰지 않으면 됩니다.

private

    
class A{
    private int a;
    private void print(){
        //private int b; 메소드 변수 또는 지역 변수는 사용 X
        System.out.println("A");
    }
}

public class PublicTest {
    public static void main(String[] args) {
        A a = new A();
        //a.a = 10; 접근 불가능 합니다.
        //a.print(); 접근 불가능 합니다.
    }
}
    

private는 본인만 접근이 가능합니다. 그래서 다른 곳에서는 접근을 할 수 없습니다. A class 안에서만 사용을 해야 합니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.