자바 기본 문법 – 클래스와 객체 – 3 – 접근 제어자 (public, private, protected)

자바 기본 문법 - 클래스와 객체 - 3 - 접근 제어자 (public, private, protected)
자바 기본 문법 – 클래스와 객체 – 3 – 접근 제어자 (public, private, protected)

자바 기본 문법 – 클래스와 객체 – 3 – 접근 제어자 (public, private, protected)

소제목: 접근 제어자란?

자바에서는 클래스와 객체를 정의할 때, 멤버 변수와 메서드의 접근 범위를 제어하는 접근 제어자를 사용합니다. 이 접근 제어자는 public, private, protected와 같이 세 가지 종류가 있습니다. 접근 제어자를 사용하여 멤버 변수와 메서드에 대한 접근을 제한함으로써 코드의 안정성과 유지보수성을 높일 수 있습니다.

소제목: public 접근 제어자

public 접근 제어자는 가장 넓은 범위를 가지며, 어떤 클래스나 패키지에서도 접근할 수 있습니다. 예를 들어, public으로 선언된 멤버 변수는 다른 클래스에서도 값을 읽거나 수정할 수 있습니다.

public class Person {
    public String name; // public 멤버 변수

    public void greet() { // public 메서드
        System.out.println("안녕하세요!");
    }
}

위의 예시에서 name이라는 public 멤버 변수는 어디서든 접근할 수 있습니다. 마찬가지로, greet()라는 public 메서드도 어디서든 호출할 수 있습니다.

소제목: private 접근 제어자

private 접근 제어자는 가장 제한적인 범위를 가지며, 해당 클래스 내부에서만 접근할 수 있습니다. 외부에서는 private 멤버 변수에 직접 접근하거나 수정할 수 없습니다. 대신, public 메서드를 통해 간접적으로 접근할 수 있습니다.

public class Person {
    private int age; // private 멤버 변수

    public void setAge(int age) { // public 메서드
        if (age >= 0) {
            this.age = age;
        } else {
            System.out.println("나이는 음수가 될 수 없습니다!");
        }
    }

    public int getAge() { // public 메서드
        return age;
    }
}

위의 예시에서 age라는 private 멤버 변수는 외부에서 직접 접근할 수 없습니다. 대신, setAge()getAge()라는 public 메서드를 통해 값을 설정하고 가져올 수 있습니다. 이렇게 함으로써 age의 유효성을 체크하고, 잘못된 값이 들어오는 것을 방지할 수 있습니다.

소제목: protected 접근 제어자

protected 접근 제어자는 같은 패키지 내에서는 접근 가능하며, 다른 패키지에서도 상속 관계에 있는 클래스에서 접근할 수 있습니다. protected 멤버 변수와 메서드는 해당 클래스 내부와 상속 받은 클래스에서 접근할 수 있습니다.

package com.example;

public class Person {
    protected String name; // protected 멤버 변수

    protected void greet() { // protected 메서드
        System.out.println("안녕하세요!");
    }
}

위의 예시에서 name이라는 protected 멤버 변수는 동일한 패키지인 com.example 내에서 접근할 수 있습니다. 또한, Person 클래스를 상속받은 하위 클래스에서도 name에 접근할 수 있습니다.

주의해야 할 점

  • public 접근 제어자는 어디서나 접근할 수 있으므로, 코드의 노출 범위를 신중하게 결정해야 합니다. 공개해도 상관 없는 경우에만 public으로 선언해야 합니다.
  • private 접근 제어자를 사용하여 멤버 변수를 숨기고, 간접적인 접근 방법을 제공함으로써 데이터의 무결성을 보장할 수 있습니다.
  • protected 접근 제어자는 상속 관계에서 유용하게 사용될 수 있지만, 남용하면 캡슐화 원칙에 어긋날 수 있습니다. 적절한 경우에만 사용해야 합니다.

자바에서의 접근 제어자는 클래스와 객체의 멤버들을 적절하게 보호하고 제한하여 안정성을 높이는 중요한 개념입니다. public, private, protected 접근 제어자를 올바르게 사용하면 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

자바 기본 문법 – 클래스와 객체 – 3 – 접근 제어자 (public, private, protected)에 대해 알아보았습니다. 이 내용을 토대로 자바 프로그래밍에서의 접근 제어자 개념을 잘 이해하고, 적절하게 활용해보세요!

답글 남기기