8.11 TIL
<OverRiding>
오버라이드 = 부모의 메소드를 무효화하는것
자식클래스에서 부모메소드랑 똑같은 메소드를 가지고 있으면 부모메소드가 무효화됨
하지만 변수는 extends한다고해서 자식클래스변수를 쓰는게아니라 부모클래스 변수그대로 나옴
오버로드의 단점을 오버라이드로 대체할수있음!
<추상클래스>
추상클래스 : 추상적인 것 (new 할수없다) ex) 가구클래스는 new할수없지만 의자클래스는 new해서 만들수있음
다시 오버라이드 정의하면 부모클래스와 자식클래스의 메소드가 동일하게 있을때 부모클래스의 메소드가 무효화됨
따라서 부모클래스를 추상클래스로 만들고 자식에게 오버라이드되는 메소드도
추상메서드로 만들수있음. -> 즉, 추상클래스의 메서드는 자식클래스에서 강제로 구현해야됨!
추상메서드를 부모가 가지고 있으면 자식은 추상메서드를 반드시 구현해야한다.
Abstract method는 body를 가질수없고 자식클래스에서 바디를 구현해야한다
추상클래스내에 몸체가 있는 메서드도 만들수있다.
<추상클래스 = 미완성 설계도>
추상클래스는 즉 자식이 완성해야되는 미완성 설계도이다.
<인터페이스>
인터: 교차로
페이스 : 직면하다, 얼굴
인터체인지를 만나면 1시 3시 5시방향으로만 갈수있음
즉 12시 6시방향같이 다른방향으로는 못감 -> ‘행위에 대한 강제성’
인터페이스 = ‘일방적인 약속’(갑과 을이 있는 약속) <->프로토콜 = 공동의 약속
추상메서드는 꼭 자식클래스에서 바디를 구현해야되지만
인터페이스내의 메서드는 public abstract가 생략된 형태이다.
그래서 ! 추상클래스에서 인터페이스를 implements해서 인터페이스의 메서드들을 구현해주면(강제로해야됨) 자식클래스에서 인터페이스의 메서드들이 장착됨
'항해99' 카테고리의 다른 글
[항해99]WIL 05 항해 하면서 아쉬운점 뿌듯한점/ Git 명령어 정리 (2) | 2022.08.21 |
---|---|
[항해99] WIL 04 CORS,관계형 데이터 모델링 (0) | 2022.08.15 |
22.8.10 TIL (0) | 2022.08.10 |
[항해99] WIL.03 MVC, ORM, SQL에 대해 알아보자 (0) | 2022.08.07 |
항해99 WIL.3 [Spring]IoC,DI,Bean 개념 및 회고 (0) | 2022.07.31 |