final 키워드는 변수, 메서드, 클래스에서 사용될 수 있음. 어디서 사용되냐에 따라 다른 의미를 가짐(but, 공통적인 특징은 무언가를 제한한다는 의미를 가지고 있음)
- final 변수: 값을 한번 할당하면 수정할 수 없음, 초기화는 한번만 가능
- final 메서드: 특정 클래스에 final 키워드가 붙은 메소드는 클래스 상속 시, 오버라이딩 불가
- final 클래스: final키워드가 붙은 클래스는 상속할 수 없음
static키워드는 변수, 메서드에 사용될 수 있음, static을 붙이면 메모리에 딱 한번만 할당되어 메모리를 효율적으로 사용할 수 있음.(주소값을 공유하기에 여러군데에서 변수 하나로 공유 가능)
- 객체 생성 없이 메소드나 변수 사용 가능.
- 프로그램 실행 시, 메모리의 static영역에 적재되고, 프로그램 종료 시 해제됨
- static 메서드(클래스 메서드) 내에서 인스턴스 변수 사용 불가
'Java' 카테고리의 다른 글
java 초기화 (0) | 2024.05.10 |
---|---|
static instance 차이 (0) | 2024.04.09 |
접근 제어자 (0) | 2024.04.09 |
Java - generic & collection Framework (1) | 2023.04.11 |
Java - 배열 1 (0) | 2023.04.01 |