본문 바로가기
개발/자바

Access Level Modifier - 접근 제한자(feat. static)

by kakk789 2021. 12. 23.

접근 제한자(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

댓글