hayu's 개발 일지

[TIL]240701 접근 제어자(1) 본문

기술/java

[TIL]240701 접근 제어자(1)

hayu00 2024. 7. 1. 21:12

공부한 내용

접근 제어자

  • 접근제어자는 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다.
  • 접근 제어자를 사용하여 적절한 접근 범위를 설정함으로써 클래스와 멤버의 캡슐화를 유지하고 응집도를 높이며 코드의 재사용성과 유지보수성을 향상할 수 있다.
  • 접근제어자는 생략가능하며 생략했을 때는 자동으로 default 임을 뜻하게 된다. 따라서 default일 경우에는 접근제어자를 지정하지 않는다.
  • 접근제어자가 사용될 수 있는 곳은 클래스, 멤버 변수, 메서드, 생성자이다.

접근 제어자의 종류

순서대로 private 이 가장 많이 차단하고, public 이 가장 많이 허용한다.

private -> default -> protected -> public

public :

  • 클래스, 메서드 또는 필드가 다른 클래스나 패키지에서 접근할 수 있도록 선언하는데 사용되는 제어자이다.
  • 클래스, 메서드 또는 필드가 public으로 선언되면 프로그램의 모든 다른 클래스와 패키지에서 접근할 수 있다는 의미이다.

protected :

  • 클래스의 멤버(필드, 메서드)가 ‘같은 패키지’ 내의 다른 클래스 또는 서브 클래스에서 접근할 수 있도록 선언하는데 사용한다.

default :

  • 클래스, 메서드 또는 필드가 ‘같은 패키지 내’의 다른 클래스에서만 접근할 수 있도록 선언하는 데 사용된다.

private :

  • ‘클래스 내부’에서만 접근이 가능할 수 있는 멤버를 선언할 때 사용한다.

접근 제어자의 사용 가능 범위

  • 클래스, 생성자, 멤버 변수, 멤버 클래스, 지역 변수 내에서 접근 제어자가 사용이 가능한 범위

위치 사용가능 접근제한자

클래스 public, default
생성자 public, protected, default, private
멤버 변수 public, protected, default, private
멤버 클래스 public, protected, default, private
지역 변수 사용 불가능

 

 

회고

- 코드를 짤때 무심코 사용하는 접근 제어자에 대해 대충은 알고 있었지만, 제대로 알지 못했다. 

- 접근 제어자의 용도와 종류 등에 대해 공부하여 정리해보는 시간이었다.  

 

참고 자료

- https://88240.tistory.com/448

- https://adjh54.tistory.com/360#google_vignette

'기술 > java' 카테고리의 다른 글

[TIL]240704 자바 메모리 구조  (0) 2024.07.04
[TIL]240702 접근 제어자(2)  (0) 2024.07.02
[TIL]240630 패키지(package)(2)  (0) 2024.06.30
[TIL]240629 패키지(package)(1)  (0) 2024.06.29
99클럽 코테 스터디 24일차 TIL + this  (0) 2024.06.13