접근 제한자(Access Modifier)
- 말 그대로 접근을 제한하기 위해 사용, 여기서 접근이란 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 말함.
- 어떤 경우에는 클래스와 인터페이스를 다른 패키지에서 사용하지 못하도록 막을 필요가 있음.
- 그리고 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 필드나 메소드를 사용하지 못하도록 막아야 되는 경우이때 접근 제한자를 사용
private
- 같은 클래스 안에서만 사용 가능
default
- 같은 패키지에 소속된 클래스에서만 사용할 수 있도록
Protected
- 같은 패키지 또는 자식 클래스에서 사용
public
- 외부 클래스에서 자유롭게 사용 가능
접근지정자 | 접근 범위 | 동일 클래스 | 동일 패키지 | 다른 패키지의 자식클래스 |
다른 패키지 |
public | 접근 제한 없음 | O | O | O | O |
protected | 동일 패키지와 상속받은 클래스 내부 |
O | O | O | |
default | 동일 패키지 내부 | O | O | ||
private | 동일 클래스 내부 | O |
static
2022.04.05 - [분류 전체보기] - class 변수/class 메소드 (= static 변수, static 메소드, 정적변수, 정적 메소드)
- static으로 선언하게 되는 경우 컴파일 시점에 정의
--> 그래서 main 메서드가 static으로 되어야함.
- static이 아닌 요소에서 호출하는 것이 불가능.
- static은 Class 소속일 경우에 사용(만약 인스턴스의 소속일 경우 static 제외)
상황1.) [클래스명.변수] <- 이런 식으로 호출 할 때 호출 되는 쪽에서 static으로 되어있어야함
상황2.) static 변수를 [인스턴스명.static변수=변경할 값]으로 한다면, 모든 인스턴스의 static변수의 값은 모두 바뀜
static = class method
non static - instance method
반응형
'개발 > 자바' 카테고리의 다른 글
클래스, 인스턴스 (0) | 2021.12.26 |
---|---|
클래스 자동 생성 방법 (Refactor) (0) | 2021.12.25 |
이클립스 폰트 변경 (0) | 2021.12.25 |
launch4j (0) | 2021.12.23 |
자바 API 공식 사이트 (0) | 2021.12.23 |
댓글