[Java] 오늘의 에러 해결 및 추상클래스

dadev·2021년 8월 9일
0

Java

목록 보기
3/12
post-thumbnail

🔓 오늘의 에러 해결


Car에서 자식클래스로 현대, 스포츠카를 생성하고 main에서 호출하였으나 Car에서 에러 발생🙉

✍ 원인분석

Car 클래스를 abstract 추상 클래스로 선언해놔서 그랬던 것이다.


☝ 문득, 추상 클래스로 부모-자식 관계로 상속을 만들면 어떻게 될까 싶어 한번 해봄.

자식 클래스를 다음과 같이 생성하고

Main 실행부에서 다음과 같이 하면 된다.

추상 클래스의 어렴풋한 정의만 알고 있었는데, 많은 시행착오를 통해 직접 실습할 수 있어서 뿌듯하다.


❗ 이 문제를 해결하면서 좀 더 자세히 알아야 했던 개념 : “추상 클래스”

추상 메소드 : 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드

💡 사용 목적 : 추상 메소드가 포함된 클래스는 상속받는 자식 클래스가 반드시 추상 메소드를 구현하기 위해서

쉽게 말해 모듈 같은 공통 부분은 미리 만들어진 것 사용하면서 받아 사용할 때 필요한 것만 재정의해서 사용

✔ 특징 : 선언부만 존재, 구현부는 x

이 구현부를 재정의해서 사용함.


❗ 추상 클래스 : 하나 이상의 추상 메소드를 포함하는 클래스

💡 특징 : 동작이 정의되어 있지 않은 추상 메소드를 포함

✔ So, 인스턴스 생성 불가

✔ 상속을 통해 자식 클래스 made

✔ 만든 자식 클래스에서 추상 클래스의 모든 추상 메소드 오버라이드 하고나서 자식 클래스 인스턴스 생성할 수 있음.


🙋‍♀ 추상 클래스 사용 목적 정리

1. 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위해

2. 추상 메소드가 포함된 추상 클래스를 상속받는 모든 자식 클래스는 추상 메서드를 구현해야만 인스턴스를 생성할 수 있으므로, 반드시 구현해야함.

profile
매일매일 최선을 다하는 개발자

0개의 댓글