[자바 기초] Abstract&interface

 추상 Abstract 클래스 : 객체지향 OOP 의 특징 중 하나로, 클래스들의 공통되는 필드와 메소드를 정의한 클래스

- 클래스의 공통 설계도

- 여러 클래스들에 대한 설계의 규격화의 필요성

추상화 클래스의 구조

- 일반 클래스처럼 필드를 생성하거나 일반 메소드의 선언이 가능하다

- 추상 클래스의 경우 블록 안에 동작을 작성하는게 아닌, abstract 타입 함수명 의 형식으로 선언만 가능하다

- 추상 클래스로 선언된 클래스는 일반 클래스처럼 직접적인 사용이 불가하며, 상속 하여 사용해야 하며, 추상 클래스 내부에 추상 메소드(abstract 타입 함수명)가 있는 경우 추상 메소드에 대한 오버라이딩이 필요하다


인터페이스 interface : 추상클래스와 다르게 별도의 필드나 메소드의 선언이 불가하며, 오직 추상메소드만 정의가 가능한 추상클래스

※단순히 오버라이딩 할 메소드의 그룹화에 사용됨

- 추상 클래스와 동일하게 내부 메소드 들에 대해 오버라이딩 및 상속 후 사용

- 인터페이스는 기존 클래스나 추상 클래스와 다르게 다중 상속이 가능하다

※인터페이스는 implement 로 상속 받는다



댓글