728x90
반응형
객체에 선언하는 final 키워드는 원시 타입에 선언한 final 키워드와 동일한 역할을 한다.
즉, 일단 할당이 되고 나면 메모리 위치가 변경되지 않는다.
단, 객체 참조는 변경할 수 없어도 객체 내부의 값들의 개별 값들이 final이 아니라면 변경할 수 있다.
@Test
public void finalReferenceChanges(){
final int i = 45;
// i = 46; 컴파일 에러가 남
final List<String> list = new ArrayList<>();
assertEquals(0, list.size());
list.add("add");
assertEquals(1, list.size());
list.clear();
assertEquals(0, list.size());
}
728x90
반응형
'그 외 ... (정리해야함) > 질문과 답변' 카테고리의 다른 글
JAVA에서 다형성과 상속이란 무엇인가? (0) | 2019.05.02 |
---|---|
메서드와 변수에 사용되는 static 키워드의 역할은 무엇인가? (0) | 2019.05.02 |
자바에서 객체란 무엇인가? (0) | 2019.05.02 |
Queue 와 Deque는 무엇인가? (0) | 2019.05.02 |
배열과 리스트의 관계를 알아보자. (0) | 2019.05.02 |