ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 접근 제어자
    Java/Java 문법 종합반 강의 정리 2023. 12. 31. 14:42

    접근 제어자 : public, protected, default, private
    그 외 제어자 : static, final, abstract

    접근 제어자 : 외부에서 접근하지 못하도록 제한한다
    클래스, 멤버변수, 메서드, 생성자에 사용되고, 지정되어 있지 않다면 default 입니다.
    - public : 접근 제한이 전혀 없다.
    - protected : 같은 패키지 내에서, 다른 패키지의 자손클래스에서 접근이 가능합니다.
    - default : 같은 패키지 내에서만 접근이 가능합니다.
    - private : 같은 클래스 내에서만 접근이 가능합니다.

    사용가능한 접근 제어자
    - 클래스 : public, default
    - 메서드 & 멤버변수 : public, protected, default, private
    - 지역변수 : 없음

    접근 제어자를 이용한 캡슐화 (은닉성)
    - 접근 제어자는 클래스 내부에 선언된 데이터를 보호하기 위해서 사용한다.
    - 유효한 값을 유지하도록, 함부로 변경하지 못하도록 접근을 제한하는 것이 필요하다.

    생성자의 접근 제어자
    - 생성자에 접근 제어자를 사용함으로 인스턴스의 생성을 제한할 수 있다.
    - 일반적으로 생성자의 접근 제어자는 클래스의 접근 제어자와 일치합니다.

    객체의 무결성 즉, 변경이 없는 상태를 유지하기 위해 접근 제어자를 사용합니다.
    - 이때 외부에서 필드에 직접 접근하는 것을 막기 위해 필드에 private, default 등의 접근 제어자를 사용할 수 있다.
    - 그렇다면 우리는 어떻게 객체의 private 필드를 읽어오거나 저장할 수 있을까?
    - 우리는 Getter, Setter를 사용하여 이를 해결할 수 있다.
    (직접적인 값의 조회, 수정을 방지하기 위해 사용한다.)

    Getter : 외부에서 객체의 private 한 필드를 읽을 필요가 있을 때 Getter 메서드를 사용한다.
    Setter : 외부에서 객체의 private 한 필드를 저장/수정할 필요가 있을 때 Setter 메서드를 사용한다.

    Getter, Setter 에 대한 내용은 자바 프로그래밍에 있어서 핵심적인 내용이니, 다음에 더 자세히 정리하자.

    제어자 사용시 주의 사항
    - 메서드에 static과 abstract를 함께 사용할 수 없다.
    - 클래스에 abstract 와 final을 동시에 사용할 수 없다.
    - abstract 메서드의 접근 제어자가 private일 수 없다.
    - 메서드의 private 와 final을 같이 사용할 필요는 없다.

Designed by Tistory.