java
CHAPTER 41 / 69
읽기 약 2분
SYNTAX
인터페이스와 추상클래스
핵심 개념
interface vs abstract class의 차이와 실무 선택 기준. default 메서드, 함수형 인터페이스를 포함한 현대 Java 패턴.
코드 분석
// 인터페이스 — 계약 정의
public interface Payable {
void pay(int amount); // 구현 강제
default void refund(int amount) { // default 메서드
System.out.println("환불: " + amount + "원");
}
}
// 추상 클래스 — 공통 구현 + 일부 추상
public abstract class Vehicle {
protected int speed;
public abstract void move(); // 반드시 오버라이딩
public void stop() { speed = 0; } // 공통 구현
}
// 클래스는 다중 인터페이스 구현 가능
public class KakaoPayment extends BasePayment
implements Payable, Loggable {
@Override
public void pay(int amount) {
System.out.println("카카오페이: " + amount + "원");
log("결제 완료");
}
}
// 함수형 인터페이스 (람다 사용 가능)
@FunctionalInterface
public interface Validator<T> {
boolean validate(T value);
}
Validator<String> emailCheck = s -> s.contains("@");
System.out.println(emailCheck.validate("a@b.com")); // trueAI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
이 Spring '인터페이스와 추상클래스' 코드에서 DI 관련 버그·순환 참조·트랜잭션 누수를 찾아서 수정해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
'인터페이스와 추상클래스'를 Spring Boot 3.x로 구현한 실전 API 코드(컨트롤러+서비스+레포지토리+테스트)를 완성형으로 만들어줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
이 Spring '인터페이스와 추상클래스' 프로젝트의 빈 구조와 의존성 트리를 전체 분석하고 N+1 쿼리·순환 참조·성능 병목을 정리해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
Spring '인터페이스와 추상클래스' vs Quarkus·Micronaut·Ktor의 동일 기능 구현을 2026년 한국 채용 시장 기준으로 솔직히 비교해줘.
⭐ 이것만 기억하세요
인터페이스와 추상클래스는 이 3가지만 확실히 잡으세요
1.인터페이스에 default 메서드가 추가된 후 추상클래스와의 선택 기준이 모호해졌습니다
2.상태(필드)가 필요하면 추상클래스, 다중 구현이 필요하면 인터페이스, sealed 인터페이스로 구현체를 제한합니다
3.다음 챕터에서 예외처리를 심화 학습합니다
공유하기
진행도 41 / 69