추상클래스, 인터페이스

KIHYUK MOON·2023년 1월 19일
0
post-thumbnail
post-custom-banner

추상클래스란 ?

추상클래스는 실제 객체를 생성할 수 있는 클래스와는 달리 객체로 생성될 수 없다. 공통되는 특성을 추출해서 선언한 클래스인 추상클래스는 추상클래스를 상속받은 클래스에서 선언된 특성을 구현해 실체화를 해야 한다.

추상메소드

자식클래스에서 반드시 오버라이딩 해야만 사용할 수 있는 메소드이다.
추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상메소드를 구현해야한다.
추상 메소드는 선언부만이 존재하며, 구현부는 작성되어 있지 않다.

abstract 반환타입 메소드이름();

위와 같이 선언부만 있고 구현부가 없다는 의미로 선언부 끝에 바로 세미콜론(;)을 추가합니다.

인터페이스란?

추상클래스가 부분추상화라면 인터페이스는 완전추상화의 개념이다. 인터페이스에 포함된 메소드는 디폴트 메소드를 제외하고 전부 추상메소드이다.

인터페이스 특징

  1. 메소드를 선언하면 public abstract라는 키워드를 따로 작성하지 않아도 public abstract로 작동한다.
  2. 모든 필드는 자동으로 상수로 변환된다.
  3. 정적 메소드는 객체와 상관없이 인터페이스 타입으로 사용할 수 있다.(?)
  4. 인터페이스 상속 키워드는 implements 이다 (extends)
profile
개발자 전직중..
post-custom-banner

0개의 댓글