티스토리 뷰

배운 것 기록/java

super, final

키죽 2022. 6. 1. 21:18

super

인스턴스의 주소를 저장하는 참조변수

- this는 자신의 인스턴스 주소 저장,  super는 부모의 인스턴스 저장

- 서브클래스에서 슈퍼클래스의 은닉된 멤버에 접근할 수 있다.

 

 

1. 변수명만 지정했을 경우

현재 선언된 메서드 내에서 먼저 탐색 > 자신의 멤버변수에서 탐색 > 부모의 멤버변수에서 탐색

 

2. this.변수명을 지정했을 경우

자신의 멤버변수에서 탐색 > 부모의 멤버변수에서 탐색

 

3. super.변수명을 지정했을 경우

부모의 멤버변수에서 탐색

 

class 할아버지 {
	String name2 = "할아버지";
}

class 아버지 extends 할아버지 {
	String name = "아버지";
}

class 나 extends 아버지 {
	String name = "나";
	
	public void method() {
		String name2 = "로컬";
		
		System.out.println(name2);	// 로컬
		System.out.println(this.name2);	// 할아버지
		System.out.println(super.name2);// 할아버지
	}
	
}

 

final

클래스, 메서드, 멤버변수에 지정 가능한 final 키워드

- final 멤버변수 : 상수 취급, 변수값 변경 불가 (ex 원주율 값 등)

- final 메서드 : 메서드 변경 불가, 오버라이딩 금지(오버로딩은 가능!)

- final 클래스 : 상속 금지, 포함은 가능! (ex String 클래스, Math 클래스)

 

 

'배운 것 기록 > java' 카테고리의 다른 글

abstract 추상화  (0) 2022.06.07
레퍼런스 형변환  (0) 2022.06.02
상속  (0) 2022.05.31
Scanner  (0) 2022.05.30
싱글톤  (0) 2022.05.29
댓글
최근에 올라온 글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함