상속받은 클래스에서 부모클래스의 메서드를 재정의하는 것
추상클래스 ---> 일반메서드만 가지고 있을수있다!
(단, 추상메서드를 하나라도 포함하고 있으면 무조건 추상클래스로 만들어줘야 한다)
일반클래스 ---> 추상 메서드를 가지고 있을 수 없습니다.
추상의 키워드 : abstract
abstract class SuperClass ----> 추상 클래스
public abstract int add(); ----> 바디가 없는 메서드
추상클래스 ---> 공통적인 필드, 메서드 추출했기때문에 자식 클래스보다는 개념적인 존재
=> 추상메서드는 강제로 구현 요구
=> 설계도
추상클래스의 특징 & 필요성
1) 상속관계에서 서브클래스(자식)가 반드시 구현해야함을
알릴때 (강제성)
2) 설계와 구현이 분리
선언은 추상클래스에서 구현은 자식클래스
3) 수퍼클래스(부모) 에서는 개념적인 특징을 정의
4) 서브클래스(자식) 구체적 행위 구현 ( 오버라이딩 )
1) 인터페이스는 다중상속이 가능하다!!!
2) 작업명세서 or 프로젝트 설계도
3) 기능만을 정의함으로써 구현, 객체같은 동작들은 자식클래스
(구현을 강제성)
단,같은 타입, 같은 이름으로 메서드를 구현@@@@@@(오버라이딩)
jdbc : java와 database를 연결하는 api
클래스 -> 완성된 설계도(필드,메서드)
추상클래스 -> 미완성된 설계도
: 기본으로 제공되는 틀을 가지고 구체적인 객체를 만들 수 있도록
기능을 물려주는 역할!
ex) 레시피 -> 기본 레시피 (+본인취향에 따라 부가재료 사용가능)
인터페이스 -> 미완성된 설계도(약속된 내용이 있는) 강제성
: 물려받은 클래스가 약속되어 있는 내용들을 꼭 구현하여 동일한 작동을 할 수 있도록 강제성을 부여하는 역할!
ex) 사용자메뉴얼