728x90
반응형

final 2

Java의 "final" 의 작동 원리

질문 : Java의 "final"키워드는 어떻게 작동합니까? (나는 여전히 개체를 수정할 수 있습니다.) Java에서는 final 키워드를 사용하여 값이 변경되지 않도록 지정합니다. 하지만 클래스의 생성자 / 메서드에서 값을 변경할 수 있음을 알았습니다. 다시 말하지만 변수가 static 이면 컴파일 오류입니다. 다음은 코드입니다. import java.util.ArrayList; import java.util.List; class Test { private final List foo; public Test() { foo = new ArrayList(); foo.add("foo"); // Modification-1 } public static void main(String[] args) { Test t ..

[JAVA] 자바의 final

final 키워드 클래스, 메서드, 변수 선언 시 변경의 마지막을 표시 멤버변수에 final 사용 시 : 변수 값 변경 금지(= 상수로 취급됨) => final 키워드가 붙은 변수(상수)는 일반 변수와 구분하기 위해 대문자로 변수명을 작성함(단어 구분은 언더스코어(_) 사용) 메서드에 final 사용 시 : 메서드 변경 금지(= 오버라이딩 금지) 클래스에 final 사용 시 : 클래스 변경 금지(= 상속 금지) => 대표적인 final 클래스 : java.lang.String, java.lang.Math 등 // 1. 멤버변수에 final 키워드 사용 => 값 변경 불가(상수로 취급) class FinalVariable { int num1 = 10; // 일반 멤버변수(차후에 값 변경 가능) //fina..

728x90
반응형