추상클래스
(Abstract Class)
완전히 정의가 되어진게 아닌 선언만 되어 있는 메소드를 하나 이상( + 멤버 변수 ) 포함하고 있는 클래스
(완전히 정의된게 아니어서 추상적이라고 부르나 봄...)
추상 클래스는 추상메소드 + 일반 메소드를 가지고 있는 클래스 라고도 할 수 있는데
추상 메소드는 정의가 되지 않고 선언만 되어있는 메소드를 뜻한다.
추상클래스도 클래스이기 때문에 다중상속이 불가능 하며 extends 명령어로 상속 받을 수 있다.
인터페이스
(Interface)
완전히 정의가 되어진게 아닌 선언만 되어 있는 메소드( + 접근 가능한 멤버변수 )
만을 가지고 있는 형태
인터페이스는 일반메소드는 없고 추상메소드만을 가지고 있다.
인터페이스는 클래스와 비슷한 형태를 가지고 있지만 클래스가 아니기 때문에 다중 상속이 가능하다.
인터페이스는 단순하게 껍데기라고 보면 된다.
알맹이 없고 틀만 잡혀진 껍데기.
인터페이스는 implements로 상속 받을 수 있다.
예전에 배울때는 추상클래스와 인터페이스를 굳이 왜 만들었을까 생각이 들 정도로
쓸모 없어 보였는데
이번에 공부하면서 알게 된 개념이
이전 포스팅의 개념인데
추상클래스와 인터페이스로 자식들의 인스턴스를 관리할 수 있다는 것에서
필요성을 알게 되었다.
<상속 개념에 대한 포스팅 링크>
http://dobbury.tistory.com/64?category=702678
추상클래스와 인터페이스는 독자적으로 생성및 할당이 되지 않는다.
(정의가 안된 부분들이 있기 때문에)
추가적으로 일반 클래스보단 추상클래스
추상클래스보단 인터페이스가 가볍기 때문에
인터페이스 사용을 지향한다.
'IT Study > Java' 카테고리의 다른 글
instanceof (0) | 2018.05.31 |
---|---|
야구선수(투수와타자) 관리 프로그램(상속의 개념 응용) (0) | 2018.05.31 |
상속에 대해서.. (중요) (0) | 2018.05.28 |
버블정렬(Class) (0) | 2018.05.28 |
생성자(Constructor) (0) | 2018.05.28 |