Java/Java Concept

접근제어자 + 제어자 개념

SeungbeomKim 2022. 7. 22. 16:58
반응형

접근 제어자 : 클래스의 접근 범위를 제한하기 위한 제어자이다. 

public : 접근제한 x

protected : 같은 패키지 + 다른 패키지의 자식 클래스에서 접근 o

default : 같은 패키지 내에서만 접근 o(자료형 앞에 아무 것도 쓰지 않았을 때)

private : 같은 클래스에서만 접근 o

허용 범위 : public > protected > default > private

접근 제어자 같은 클래스 같은 패키지 자식 클래스 그 외
public o o o o
protected o o o x
default o o x x
private o x x x

기타 제어자

final : 변경할 수 없는 상수(constant)를 의미한다. (c,c++ 관점에서 바라볼 때 const와 같은 의미이다)

final을 사용하면 다른 클래스가 상속 받을 수가 없으면 메소드 오버라이딩(overriding)을 통한 재정의가 불가능하다.

=>클래스 메소드 필드 지역변수에서 사용 가능

static(공통적) : 프로그램 시작시 한 번만 생성되고 초기화된다. 인스턴스를 생성하지 않고도 사용 가능

 해당 클래스의 모든 인스턴스가 공유할 수 있다.

인스턴스 변수, 지역 변수 등은 인스턴스를 생성해야 변수를 사용할 수 있다.

abstract(추상적): 선언부 x 구현부만 존재하면 abstract 메소드라고 하며, 추상 메소드를 포함하고 있는 추상 클래스는 반드시 abstract 제어자를 붙여줘야 한다.

반응형