this, super란??

momomoki·2023년 10월 21일
0
post-thumbnail

this, super란?

this는 클래스안에서 선언된 클래스 안의 멤버변수들을 가리키는것이다.
super는 부모 클래스안에 선언된 멤버변수를 가리키는것이다.

Calculator클래스는 Plus클래스를 상속을 받고 plus메서드를 사용하는 코드인데 plus메서드는 int z를 매개변수로 받아서 작동을 하게 된다. plus메서드의 첫번째 출력을 보면 super.x는 Plus클래스의 x를 가리켜 10가 되고 y값은 this.y가 Calculator안의 y인 20이되고 z는 값을 받은 2가 되어 10 + 20 + 2 = 32값이 나오게 된다.
두번째 출력은 x는 Calculator의 값인 5를 가진다. Plus에는 x값이 있지만 Calculator에도 x값이 있으며 상속받은 x보다 Calculator에서 선언한 x를 사용하여 5의 값을 가진다. y는 this를 사용해서 20이되며 z는 값을 받아서 2가된다. 그래서 5 + 20 + 2 = 27의 값을 출력한다. 세번째 출력에서는 x값은 10 y값은 20 z값은 Calculator의 선언된 z를 사용하게 되어서 없는 값이 된다. 그래서 받은 값인 2가아닌 없는 값이 되어 10 + 20 = 30이된다.
이번 포스팅은 this와 super의 대해 포스팅을 했는데 설명은 길었지만 맨 처음에 작성한 this와 super의 특징이 정말 글 그대로의 특징을 가진거다.

profile
얍얍엽엽욥욥

0개의 댓글