210512_TIL복습06

정재현·2021년 5월 12일
0

TIL2

목록 보기
70/79

오늘도 이어서 복습을 진행한다.
210126_JAVA 오버라이딩~ 부터 진행을 한다.

26일차에는 오버라이딩에 대해 좀더 알아보는 시간을 가졌으며,

오버라이딩이란 상위 클래스에서 정의된 메소드를 하위 클래스에서 다시 정의하는 것을 말하며
참조변수가 참조하는 인스턴스의 종류에 상관없이, 참조변수의 '형'에 해당하는 클래스와
그 클래스가 상속하는 상위 클래스에 정의된 메소드들만 호출 가능하다.

이라는 개념을 상기시켰다.
또한 참조 변수의 관계를 배열의 관점에서 설명한 예시가 있었는데
아.. 진짜 기억이 안난다.. 지금 다시 복습해서 새롭게(?)까지는 아니고 아 이랬었지..
정도의 망각이 있었다.

그리고 하위 클래스에서 상위 클래스의 메서드를 다시 정의한다는 말은
'무효화'한다는 의미를 가지며 이것이 오버라이딩이다.
이것 또한 yummy 코드를 보고 복습하게 되었다.

메소드의 이름, 메소드의 반환형, 메소드의 매개변수 선언

이 같아야 메서드 오버라이딩의 조건을 충족시켰다고 할 수 있다.
조건을 충족시켜야 대신하게 되는 것.

27일차에도 오버라이딩에 대해서 진행했는데,
super 키워드를 사용하여 상위 클래스의 메서드를 호출함과 동시에 하위 클래스의 메서드도
호출할 수 있는 방법을 복습했다.

특히 이부분은 내가 예전에 '이해가 안되니깐 다음에 다시봐야겠다..' 라고 생각했던 부분인데
드디어 이번에 보게되었다.
결과는..? 허무..
왜 이해를 못한거지 이걸..?

Cake2 cake2 = cheeseCake; // 치즈케이크가 참조하는 것을 cake2도 참조함.

이렇게 버젓이 써놓고 왜 치즈케이크의 show를 호출하는건지 이해하지 못했다.
잘 이해한게 맞나 싶긴하다 너무 쉬워서;;

210126_JAVA 오버라이딩~27일차까지 복습 진행 완료했다.

오늘의 코멘트: 그래도 예전 문제점이 해결되어 다행.

profile
"돈받고 일하면 프로다"

0개의 댓글