상속,추상,인터페이스

ㅇ.ㅇ·2022년 5월 17일

상속 : 물려받다, 물려주다

  • 기존의 클래스의 변수(데이터)나 메서드(기능,로직,코드)를 물려받아서
  • 새로운 클래스를 구성

화살표 방향 : 데이터를 찾아가는 방향

  1. 다중 상속이 불가능하다 // extends bird, animal xxxxx
  2. 상속의 횟수에는 제한을 두지 않습니다.
  3. 모든 클래스는 object를 상속 받는다.

오버라이딩

상속받은 클래스에서 부모클래스의 메서드를 재정의하는 것

추상클래스

  • 동물 => 조류, 포유류
  • 조류 -> 독수리,펭귄

추상메소드

  • 선언되어 있으나 메소드에 대한 로직이 구현되지 않은 메소드
  • 추상 메소드는 서브 클래스에서 오버라이딩하여 구현

추상클래스

  • 여러 클래스들 간에 공통되는 필드나 메소드를 추출해 만들어지는 클래스
  • 추상 메소드가 하나도 없지만 클래스 앞에 Abstract로 선언한 경우
  • 객체를 생성할 수 없다.

추상클래스 ---> 일반메서드만 가지고 있을수있다!
(단, 추상메서드를 하나라도 포함하고 있으면 무조건 추상클래스로 만들어줘야 한다)

일반클래스 ---> 추상 메서드를 가지고 있을 수 없습니다.
추상의 키워드 : abstract
abstract class SuperClass ----> 추상 클래스
public abstract int add(); ----> 바디가 없는 메서드

추상클래스 ---> 공통적인 필드, 메서드 추출했기때문에 자식 클래스보다는 개념적인 존재
=> 추상메서드는 강제로 구현 요구
=> 설계도

추상클래스의 특징 & 필요성
1) 상속관계에서 서브클래스(자식)가 반드시 구현해야함을
알릴때 (강제성)
2) 설계와 구현이 분리
선언은 추상클래스에서 구현은 자식클래스
3) 수퍼클래스(부모) 에서는 개념적인 특징을 정의
4) 서브클래스(자식) 구체적 행위 구현 ( 오버라이딩 )

인터페이스

  1. 클래스들이 구현해야하는 공통되는 기능지정
  2. 작업명세서 또는 프로젝트 설계도
  3. 기능만 정의 함으로써 구현 객체의 같은 동작보강

인터페이스

  • 추상클래스와 비슷한 개념 : 바디를 가지고 있는 메서드 + 추상메서드
  • 인터페이스 : 바디가 없는 메서드만을 포함(구현되지 않은 메서드)
    -------> 찐중에서 찐으로 설계도

인터페이스특징

1) 인터페이스는 다중상속이 가능하다!!!
2) 작업명세서 or 프로젝트 설계도
3) 기능만을 정의함으로써 구현, 객체같은 동작들은 자식클래스
(구현을 강제성)
단,같은 타입, 같은 이름으로 메서드를 구현@@@@@@(오버라이딩)
jdbc : java와 database를 연결하는 api

추상클래스

클래스 -> 완성된 설계도(필드,메서드)
추상클래스 -> 미완성된 설계도
: 기본으로 제공되는 틀을 가지고 구체적인 객체를 만들 수 있도록
기능을 물려주는 역할!
ex) 레시피 -> 기본 레시피 (+본인취향에 따라 부가재료 사용가능)

인터페이스 -> 미완성된 설계도(약속된 내용이 있는) 강제성
: 물려받은 클래스가 약속되어 있는 내용들을 꼭 구현하여 동일한 작동을 할 수 있도록 강제성을 부여하는 역할!
ex) 사용자메뉴얼

profile
기록과 정리하는것을 계속해서 하려고 노력중이에요 😊

0개의 댓글