객체 접근 권한

강9·2023년 11월 27일
0

Java

목록 보기
44/71
post-thumbnail

💡 접근제어(Access Modifier)란?

✅ 객체(클래스) 상호간에 접근제어가 필요한 이유

  • 객체의 상태정보(멤버변수)는 중요하기 때문에 접근을 못하게 해야한다.(정보 은닉)
  • 객체의 행위정보(멤버메서드)는 상호작용을 해야하기 때문에 접근을 허용한다.

A classB class
상태정보
(멤버변수)
←→
불가능
상태정보
(멤버변수)
행위정보
(멤버메서드)
←→
가능
행위정보
(멤버메서드)


✅ 객체 상호간에 접근을 제어하는 방법(클래스 상호간에)

▶️ 4가지의 접근제한자(Access Modifier)를 사용한다.
▶️ 클래스를 설계할 때 고려해야 한다.
▶️ 클래스와 클래스 내부에서 만들어지는 멤버에 접근 제한자를 사용할 수 있다.


접근제한자(Access Modifier)

접근제한자설명
public모든 패키지에서 접근 가능
(모든 클래스는 public)
(모든 멤버메서드는 public)
private모든 패키지에서 접근 불가
(자기 자신만 접근 가능)
(모든 멤버변수는 private)
protected상속관계에서 하위클래스에서 상위클래스로 접근 가능
default동일한 패키지에서만 접근 가능
(단어로 존재하지 않음)


💡 패키지(Package)란?

  • 서로 기능이 비슷한 클래스들끼리 모아서 관리를 쉽게 하기 위해서 사용(폴더 개념)
  • 패키지 외부에서 클래스의 접근을 할 수 없도록 하기 위해서 사용(보안)
  • 자바에서 제공해주는 API패키지의 형태로 배포된다.

✅ 자바에서 제공해주는 대표적인 패키지

패키지 이름설명
java.lang
(default package)
자바에서 자주 사용하는 클래스(String, System 등)
java.io입출력 관련 클래스(InputStream 등)
java.net네트워킹 관련 클래스
java.util도움을 주는 클래스(Scanner 등)
java.sql데이터베이스 관련 클래스, SQL
java.math수학 관련 클래스

✅ JavaSE 프로젝트 library(API) 위치 확인

jdk → lib → jrt-fs.jar / src.zip

  • jrt-fs.jar : 라이브러리 압축파일
  • src.zip : 소스파일 // External Libraries > ...
profile
코린이 일기

0개의 댓글