Programming/JAVA

[JAVA] 접근 지정자, Final 기본적인 개념

잇나우 2020. 3. 2. 15:32
반응형

접근 지정자

접근지정자는 클래스 내에서 멤버의 접근할 수 있는 범위를 제한해주는 역할을 한다. 접근 제한자라고도 불린다. 접근 지정자로는 public, protected, default, private과 같이 4가지가 있다.

Public

모든 접근을 허용한다.

protected

같은 패키지에서만 접근이 가능하고, 다른 패키지라면 상속을 받은 클래스에서는 접근이 가능하다.

default

protected에서 상속의 개념을 뺀것으로 생각하면 된다. 접근지정자를 적지 않을경우 자동으로 지정된다. 같은 패키지에서만 접근이 가능하다.

private

같은 클래스 내에서만 접근이 가능하다.

접근 지정자 // 동일 클래스 // 동일 패키지 // 다른 패키지 상속관계 // 다른 패키지
public O O O O
protected O O O X
default O O X X
private O X X X

Final

추상(abstarct)이 상속을 강요하는 것이라면, final은 상속을 금지하는 것이다. 위키백과에서는 final을 이렇게 설명하고 있다. entity가 한번만 할당될 수 있다. final을 사용하면 상속과 변경을 금지할 수 있다.

final 변수

자바에서는 상수를 선언하고 싶을때 final을 사용한다. static final 변수를 선언시 반드시 값을 정해주어야한다. 상수이기때문에 한 번 정해진 값은 변경할 수가 없다. 일반적으로 특정 메소드의 지역 변수로 선언하기 보다 클래스에서 static 키워드와 함께 사용된다.

final 메소드

메소드를 final로 선언하면 자식 클래스에서 오버라이드가 불가능하다.

final 클래스

클래스를 final 선언하면 상속이 불가능하다.

반응형

'Programming > JAVA' 카테고리의 다른 글

[JAVA] Arrays.asList()  (0) 2020.09.17
[JAVA] 쓰레드 (Thread), Runnable 인터페이스  (0) 2020.03.15
[JAVA] 기본적인 enum  (0) 2020.02.25
[JAVA] 인터페이스 (Interface)  (0) 2020.02.24
[JAVA] 다형성(Polymorphism)  (0) 2020.02.24