추상클래스와 인터페이스

박수오·2025년 2월 15일

추상클래스(Abscract Class)와 인터페이스(Interface)

추상클래스

abstract 라는 키워드를 사용하며, 일부 메서드는 구현할 수도 잇고, 추상 메서드로 남겨둘 수 있는 클래스다.
공통된 속성과 동작을 정의하면서 일부 기능은 하위클래스에서 반드시 구현하도록 강제할때 사용된다.

extends를 사용하여 상속하며, 객체를 직접 생성 할 수 없다.

인터페이스

인터페이스는 클래스가 반드시 따라야 하는 규칙을 정의하는 일종의 계약이며, 동작을 강제하기 위한 역할을 한다.

interface 키워드로 선언된다.
모든 필드는 public static final(상수)이며, 모든 메서드는 기본적으로 public abstarce이다.

implements 로 구현되며 다중상속이 가능하고, 객체를 직접 생성 할 수 없다.

구분되어 사용되는 이유

추상클래스는 클래스로서 해당 클래스를 상속, 확장하기 위해 사용되며, 인터페이스는 해당 인터페이스를 구현한 객체들이 동일한 사용법과 동작을 보장하기 위해 사용된다.

인터페이스는 다중 구현과 느슨한 결합을, 추상 클래스는 코드 재사용과 일관된 구현을 제공한다.

profile
모호하게 알고있거나 개념없이 사용만 했던 것들을 정리한 내용입니다.

0개의 댓글