[OOP] 추상 메서드, 추상 클래스, 인터페이스
2026.07.09. 17:11
추상화를 하면서 부모 클래스를 만듬.
-> 부모 클래스 객체를 만들 필요가 있는가?
부모 클래스에서 선언된 함수를 오버라이딩 하는 구조에서 자식 클래스에서 함수명을 잘못 적거나 하는 등 실수를 할 경우 부모 클래스의 함수를 호출하게 됨. -> 런타임 에러.
이를 빌드 시에 사전에 잡아내기 위해서 추상 메서드를 사용.
-> 구현을 강제함.
구체 클래스에는 추상 메서드가 들어갈 수 없음.
이걸 확장하여 객체를 만들 수 없는 부모 클래스를 만듬. (추상클래스)
++ 이를 통해 부모 클래스의 객체를 생성하지 못하게 하는 효과를 추가로 가짐.
때에 따라 모든 데이터와 구현이 없고 이렇게 구현해줘라는 명세가 필요함. -> 인터페이스 (순수 추상 클래스)
상태, 동작 없음. -> 메서드 시그니쳐만 존재함.(언어 차원에서 지원)
자바에서 인터페이스는 다중 상속이 가능함.
인터페이스는 다형성 구현을 위해 필요.