반응형
Notice
Recent Posts
Recent Comments
Link
It's easy, if you try
[Java] final 사용 방법 간단 정리 (static과의 차이점) 본문
반응형
Final
final은 메소드, 클래스, 변수에 붙여서 사용합니다.
1. Immutable 변수
final 변수 선언 시 추후에 수정이 불가합니다.
final int COOKIE_SIZE = 3;
추후에 수정할 수 없기 때문에 초기화가 필수입니다.
2. final 함수
메소드 오버라이트를 제한합니다.
3. final 클래스
상속이 불가능한 클래스가 됩니다. Wrapper Class 도 final 클래스에 해당됩니다.
Static과의 차이점
static은 모든 인스턴스에 공통된 값을 유지합니다. 또한,
메모리에 한번 할당되어 프로그램이 종료될 때 해제됩니다.
static 또한 메소드, 클래스, 변수에 사용될 수 있습니다.
static 변수는 정적 필드, static 메소드는 정적 메소드라고도 합니다. 이 둘을 합쳐 정적 멤버 또는 클래스 멤버라고 합니다.
단점은 정적멤버는 가비지 콜렉터에 의해 관리되지 않는 영역에서 프로그램 종료시까지 메모리가 할당된 채로 존재하게 됨에 따라 남용시에 시스템 성능에 악영향을 줄 수있다는 점입니다.
결론
한 번 선언 후 변경 불가능해야하는 경우 -> final
여러 인스턴스에서 공통으로 사용 -> static
여러 인스턴스에서 공통으로 사용하면서, 변경 불가능 -> static final
반응형
'언어 > 자바(Java)' 카테고리의 다른 글
[Java] HashMap Comparator 람다식 정렬 (0) | 2021.07.06 |
---|---|
[Java] 코드 개선을 위한 Collection 사용 (0) | 2021.07.02 |
[JAVA] Comparable vs Comparator (0) | 2021.02.21 |
[Java] 순열 / 조합 / 부분 집합 정리 (수도 코드 - 재귀편) (0) | 2021.02.15 |
[JAVA] 언어 개요 - 특징 (0) | 2021.02.14 |
Comments