추상클래스(abstract)란!!
클래스가 설계도 라면 추상클래스는 '미완성 설계도'
추상메서드 (미완성메서드)를 포함하고 있는 클래스
*.* 추상메서드 : 선언부만 있고 구현부( 몸통, body) 가 없는 클래스
꼭 필요하지만 자손마다 다르게 구현 될 것으로 예상되는 경우에 사용
추상 클래스를 상속받는 자손 클래스에서 추상메서드의 구현부를 완성
인터페이스(Interface)란!!
일종의 추상클래스. 추상클래스(미완성 설계도) 보다 추상화가 높다.
실제 구현된 것이 전혀없는 기본설계도(알맹이 없는 껍데기)
인스턴스를 생성할 수 없고 클래스 작성에 도움을 줄 목적으로 사용된다.
class 대신 interface 를 사용할 뿐 클래스를 상속받는것과 같다
차이점!!!!
->추상클래스(abstract)
추상메서드(abstract method)가 하나라도 존재하는 클래스.
추상화 시킬 때만 사용하면 된다.
(is-a관계)
(공통점을 찾아서 추상화시켜서 사용하는 것)
클래스 임으로 단일상속(다중상속 불가)
=>상속을 받아서 기능을 확장시키는 목적, (상속)
구현 할때 extends 상속
->인터페이스(Interface) 진정 완전한 껍데기
interfaces는 구현하는 모든 클래스에 특정한 메서드가 반드시 존재하게 하는 강제적인 역할
.-.구현 객체가 동작을 한다는 것을 보장 목적
(has a) 관계 즉 다중상속 가능
implements 상속
(인터페이스는 상관없는 클래스를 연결 해주는 중간 역할이라고 생각하자)
'프로그래밍 > JAVA' 카테고리의 다른 글
[Java]Collections Framework (0) | 2017.12.18 |
---|---|
[Java]클래스 메서드 & 인스턴스 메서드 (0) | 2017.12.15 |
[Java]객체지향 -다향성 및 instanceOf 연산자 (0) | 2017.12.14 |
[JAVA]오버로딩 & 오버라이딩 (0) | 2017.12.13 |
[JAVA]객체지향기초 및 클래스 (0) | 2017.12.12 |