final

코틀린 인터페이스 코틀린 인터페이스 안에는 추상 메소드뿐 아니라 구현이 있는 메소드도 정의할 수 있다. (자바8 디폴트 메소드처럼) interface Clickable{ fun click() } class Button: Clickable{ override fun click() = println("I was clicked") } >> Button().click() I was clicked 자바에서는 extends와 implements 키워드를 사용하지만, 코틀린에서는 클래스 이름 뒤에 콜론(:)를 붙이고 인터페이스와 클래스 이름을 적는 것으로 클래스 확장과 인터페이스 구현을 모두 처리한다. 코틀린에서는 override 변경자를 꼭 사용해야 한다. interface Clickable{ fun click() ..
객체에 선언하는 final 키워드는 원시 타입에 선언한 final 키워드와 동일한 역할을 한다. 즉, 일단 할당이 되고 나면 메모리 위치가 변경되지 않는다. 단, 객체 참조는 변경할 수 없어도 객체 내부의 값들의 개별 값들이 final이 아니라면 변경할 수 있다. @Test public void finalReferenceChanges(){ final int i = 45; // i = 46; 컴파일 에러가 남 final List list = new ArrayList(); assertEquals(0, list.size()); list.add("add"); assertEquals(1, list.size()); list.clear(); assertEquals(0, list.size()); }
final 필드와 상수 final 필드final의 의미는 최종적이라는 뜻을 갖고 있다. Final 필드는 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다. final 필드의 초기값을 줄 수 있는 방법은 두가지이다. 첫 번째는 필드 선언시에 초기값을 주는 방법이며, 두 번째는 생성자를 통해 초기값을 주는 방법이다. (만약 초기화되지 않은 final 필드를 그대로 남겨두면 컴파일 에러가 발생한다.) 상수(static final)일반적으로 불변의 값을 상수라고 부른다. 불변의 값을 저장하는 필드를 자바에서는 상수(constant)라고 부른다. final 필드는 한 번 초기화되면 수정할 수 없는 필드이지만, final 필드를 상수라고 부르진 않는다. 왜냐하면 불변의 값은 객체..
깡냉쓰
'final' 태그의 글 목록