OPEN HYPER STEP
← 목록으로 (Java+Spring)
JAVA · 16 / 69
java
CHAPTER 16 / 69
읽기 약 2
SYNTAX

인터페이스와 추상클래스


핵심 개념

인터페이스: 구현을 강제하는 계약. implements 사용.

추상클래스: 일부 구현 포함 가능. extends 사용.

Spring @Repository, @Service는 인터페이스 기반 설계.

인터페이스로 느슨한 결합(loose coupling)을 달성한다.

코드 분석
JAVA📋 코드 (36줄)
// 인터페이스
interface Payable {
    void pay(int amount);
    default String getType() { return "UNKNOWN"; }  // default 메서드
}

// 추상 클래스
abstract class Account {
    protected String owner;
    public Account(String owner) { this.owner = owner; }
    public abstract int getBalance();
    public void printInfo() {
        System.out.println(owner + ": " + getBalance() + "원");
    }
}

class BankAccount extends Account implements Payable {
    private int balance;

    public BankAccount(String owner, int balance) {
        super(owner);
        this.balance = balance;
    }

    @Override
    public int getBalance() { return balance; }

    @Override
    public void pay(int amount) {
        balance -= amount;
        System.out.println(amount + "원 결제 완료. 잔액: " + balance);
    }

    @Override
    public String getType() { return "BANK"; }
}

AI 프롬프트
🤖 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.구체 클래스에 직접 의존하면 구현을 교체할 때 호출하는 곳을 전부 수정해야 합니다
2.인터페이스는 '무엇을 할 수 있는가'의 계약이고, 추상클래스는 '부분 구현을 공유'하는 골격입니다
3.다음 챕터에서 예외처리를 심화 학습합니다


공유하기
진행도 16 / 69