티스토리 뷰

접근 제어자란?

접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록
제한하는 역할을 한다. Java에서 기본 접근 제어자는 defualt이며 클래스나 멤버 변수, 메서드, 생성자에 접근 제어자가 지정되어 있지 않다면, 접근 제어자가 default임을 뜻한다.

 

접근 제어자 종류와 범위

접근 제어자는 클래스, 멤버변수, 메서드, 생성자에 사용되며 특정 접근 제어자를 사용하여 접근 제한할 수 있다.

  • private: 외부 접근이 불가능하며 같은 클래스 내에서만 접근이 가능하다.
  • default: 같은 패키지 내에서만 접근이 가능하다.
  • protected: 같은 패키지이거나 다른 패키지이더라도 상속관계라면 접근이 가능하다.
  • public: 접근 제한이 전혀 없다.

접근 범위가 넓은 쪽에서 좁은 쪽의 순으로 왼쪽부터 나열한다면, public > protected > default > private 순이다.

 

접근 제어자를 사용하는 이유

클래스의 내부에 선언된 데이터를 보호하기 위해서이다. 중요 데이터를 저장하고 있는 변수에 외부에서 함부로 접근하여 변경하면 데이터는 유효한 값을 유지할 수 없을 것이다. 이를 방지하고 데이터가 유효한 값을 유지할 수 있도록 접근 제어자를 통해 데이터 접근을 제한한다.(데이터 감추기, 객체지향의 캡슐화) 또 다른 이유는 클래스의 내부 작업을 위해 사용되는 멤버 변수나 메서드를 감추기 위해서이다. 외부에서 접근할 필요가 없는 멤버들을 private로 노출되지 않도록 하여 복잡성을 줄일 수 있다.

  • 외부로부터 데이터를 보호하기 위해서
  • 내부적으로만 사용되어 외부에서 접근할 필요가 없는 부분을 감추기 위해서

 

'프로그래밍 > Java' 카테고리의 다른 글

[JAVA] 객체지향 이란?  (0) 2021.06.22
[JAVA] GC(Garbage Collection)이란?  (0) 2021.05.28
[JAVA] JVM(Java Virtual Machine)이란?  (0) 2021.05.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함