9월 13일 - 접근제어자

Yullgiii·2024년 9월 13일
0

[Java] 접근 제어자 (Access Modifier)

1. 접근 제어자란?

접근 제어자(Access Modifier)는 클래스, 메소드, 변수 등에 대한 접근 범위를 지정해주는 키워드입니다. 이 접근 범위를 설정함으로써 외부에서의 접근을 제한하거나, 특정 클래스와 메소드 간의 관계를 명확하게 정의할 수 있습니다.

2. 접근 제어자의 종류

  • public: 모든 클래스에서 접근 가능. 가장 넓은 범위의 접근 권한을 가집니다.
  • protected: 같은 패키지 내에서 접근 가능하고, 상속받은 클래스에서는 외부 패키지에서도 접근 가능합니다.
  • default (package-private): 접근 제어자를 명시하지 않으면 자동으로 적용되는 기본 제한자입니다. 동일 패키지 내에서만 접근 가능합니다. 패키지를 벗어나면 접근할 수 없습니다.
  • private: 해당 클래스 내부에서만 접근이 가능하며, 외부에서는 접근이 불가능합니다. 가장 좁은 범위의 접근 권한을 가집니다.

3. 접근 제어자의 사용 예제

public

public class PublicExample {
    public String name = "Public Example";

    public void showName() {
        System.out.println(name);
    }
}

protected

class Parent {
    protected String data = "Protected Data";

    protected void showData() {
        System.out.println(data);
    }
}

class Child extends Parent {
    public void accessData() {
        showData();  // 상속받은 클래스에서 접근 가능
    }
}

default (package-private)

class DefaultExample {
    String defaultMessage = "Default Access Modifier";  // default 접근 제어자

    void showMessage() {
        System.out.println(defaultMessage);
    }
}

private

public class PrivateExample {
    private String secret = "Private Secret";  // 클래스 내부에서만 접근 가능

    public void showSecret() {
        System.out.println(secret);
    }
}

So...

접근 제어자는 객체 지향 프로그래밍에서 중요한 역할을 합니다. 접근 범위를 적절히 설정함으로써 코드의 재사용성과 유지보수성을 높일 수 있습니다. public은 모든 클래스에서 접근 가능하게 하며, private은 외부 클래스에서 접근하지 못하게 해 보안성과 캡슐화를 보장합니다. protected는 상속 관계에서 유용하게 쓰일 수 있으며, default는 패키지 범위에서 유효한 제한자입니다.

일반적으로 명시적인 표현을 선호하므로 default 제어자는 잘 쓰이지 않고, 필요한 접근 범위에 따라 적절한 제어자를 사용하는 것이 중요합니다.

profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글