본문 바로가기

자바☕

11. 19 내부 클래스/ static vs final vs static final

728x90

내부 클래스

클래스 내에 선언된 클래스

장점:

내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.

코드 복잡성을 줄일 수 있다(캡슐화)

 

static vs final vs static final

static = "고정된"

static 변수(클래스 변수):

-해당 변수에 메모리 할당을 딱 한번만 하는 메모리 절약효과

-**static 변수의 메모리 주소가 한 곳으로 고정되기 때문에, 인스턴스 변수간 값이 그 주소로 공유되기 때문에,

해당 변수(속성)의 값 고정된 주소에서 공유된다. 

 

static 메서드:

객체 생성없이 해당 클래스.static메서드를 입력하여 해당 메서드를 호출할 수 있다.

*static 메서드 안에서는 인스턴스 변수로 접근이 불가능하다.

(vs 인스턴스 메서드:

객체 생성: 클래스 참조변수 = new 클래스로 생성

참조변수.인스턴스 메서드로 호출)

 

final = "최종적인"

저장된 값을 고정

 

static final = "상수"

상수를 만들 때 사용

*final이 상수가 될 수 없는 이유: 인스턴스 변수는 상호독립이므로 객체마다 저장값의 변경이 가능하여,

fianl만으로는 상수가 될 수 없다.

728x90