[java] 자바 abstract(추상)클래스와 interface(인터페이스)에 대한 이해


abstract(추상) 클래스
– 하나 이상의 abstract 메소드(미완성 메소드)를 가진 클래스
– 인스턴스 생성을 불가 (컴파일 에러)
– 참조변수 생성과 오버라이딩이 가능
Cap 2016-01-09 22-31-51-873

 

interface
– 모든 메소드가 abstract 메소드인 클래스는 인터페이스로 정의한다.
– 두 결과물의 연결고리가 되는 일종의 규약
– 인터페이스에 정의된 메소드는 public abstract로 선언된다.
– 인터페이스에 정의된 변수는 public static final(상수)로 선언된다.

 

– 참조변수 생성과 오버라이딩이 가능
– implements 키워드를 사용하여 구현(상속)

 

– 둘 이상의 인터페이스 구현(상속)이 가능하다.
– 인터페이스가 인터페이스를 상속할때는 extends 를 사용