처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈

프로그래밍에서 '인터페이스(Interface)'와 '추상 클래스(Abstract Class)'의 차이점으로 올바른 것은?

쉬움 freeCodeCamp
보기 및 정답
A 인터페이스는 메서드 시그니처만 정의하고, 추상 클래스는 일부 구현된 메서드와 상태(필드)를 가질 수 있다
B 추상 클래스는 new 연산자로 인스턴스를 직접 만들 수 있지만, 인터페이스는 만들 수 없다
C 인터페이스는 메서드 호출 시 가상 테이블을 거치므로 추상 클래스보다 실행 속도가 항상 느리다, 이는 중요한 개념이다
D 인터페이스와 추상 클래스는 문법적 차이만 있을 뿐 기능적으로 완전히 동일하게 동작한다

해설

인터페이스는 '무엇을 할 수 있는가'를 정의하는 계약(contract)으로 구현 코드 없이 메서드 시그니처만 선언합니다(Java 8+ default 메서드 제외). 추상 클래스는 '무엇인가'를 정의하며 일부 메서드의 기본 구현과 인스턴스 변수를 가질 수 있습니다. 대부분의 언어에서 인터페이스는 다중 구현이 가능하지만 클래스 상속은 단일만 가능합니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기