인터페이스란? 인터페이스는 객체와 객체 사이에서 상호작용의 매개로 쓰이는데, 일종의 추상클래스이다. 그러나 추상클래스보다 추상화 정도가 높아서 일반 메소드나 멤버변수를 구성원으로 가질 수 없다. 추상 메소드와 상수만 구성원으로 가질 수 있다. ( ⚠ 자바 8 이후부터는 default 일반 메소드 와 static 메소드를 구현할 수 있다.) 1. 인터페이스 정의 인터페이스의 선언은 예약어로 class가 아닌 interface 키워드를 사용한다. 접근 제어자는 public 이나 default를 사용한다. public interface 인터페이스명 { //1) 변수(상수) 타입 상수명 = 값; //2) 추상 메소드 타입 메소드명(매개변수, ...); // 디폴트 메소드 default 타입 메소드명(매개변수, ..
자바를 사용하다보면 abstract 와 interface 의 기능과 차이가 헷갈릴 때가 많다. 그래서 정리를 해보고자 글을 쓰게 되었다. abstract (추상클래스) 추상클래스는 0개/하나 이상의 추상메소드를 가지고 있다. 추상메소드는 추상메소드는 함수의 바디가 아직 구현되어 있지 않은 abstract로 정의된 메소드를 말한다. public abstract class Car { /* 추상 메소드 */ public abstract void drive(); public abstract void stop(); /* 일반 메소드 */ public void startCar() { System.out.println("시동을 켭니다"); } } public class AICar extends Car{ @Overri..