[JAVA] this VS super

정만·2023년 2월 5일

JAVA

목록 보기
2/4
post-thumbnail

이번 글은 자바를 공부하면서 알게된 this 와 super의 차이점에 대해 적어보고자 한다.

1. this : 현재 클래스의 인스턴스를 의미한다.

		1-1 : this.() : 현재 클래스 안의 개체를 가져오는 참조 변수이다.

2. super : 자식 클래스에서 상속받은 부모 클래스를 참조할때 사용한다.

2-2: super() : 자식 클래스에서 부모 클래스 개체를 가져오는데 사용하는 참조 변수이다.

예제는 이전 글에서 사용한 코드로 확인해보자!

class Cal  {
	public int sum(int v1, int v2) {
		return v1 + v2;
	}
	
	
	public int sum(int v1, int v2, int v3) {
		return this.sum(v1, v2)+ v3; // 자기자신을 가르킴.
	}
	
}
//Cal: 부모 클래스, Cal3: 자식 클래스
class Cal3 extends Cal {
	public int minus(int v1, int v2) {
		return v1 - v2;
	}
	
	public int sum(int v1, int v2) {
		System.out.println("Cal3!!");
		return super.sum(v1, v2); // 부모클래스의 sum을 가르킴.
	}
}
profile
멋있는 어른이 되고싶은 정만이의 벨로그

0개의 댓글