SW 전공

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

소프트웨어 아키텍처와 설계 원칙

원래 이론 →

헷갈리는 개념

결합도설명
자료필요한 단순 데이터만 매개변수로 전달
스탬프구조체·레코드 전체를 전달하고 일부만 사용
제어다른 모듈의 흐름을 정하는 제어값 전달
외부외부 형식·장치·프로토콜에 공동 의존
공통전역 데이터 영역을 공유
내용다른 모듈 내부를 직접 참조·수정
이 부분의 원문 →

대표 계산·예제

JAVA
interface DiscountPolicy {
    int discount(int price);
}

class FixedDiscount implements DiscountPolicy {
    public int discount(int price) { return 1000; }
}

class RateDiscount implements DiscountPolicy {
    public int discount(int price) { return price / 10; }
}

class OrderService {
    private final DiscountPolicy policy;

    OrderService(DiscountPolicy policy) {
        this.policy = policy;
    }

    int finalPrice(int price) {
        return price - policy.discount(price);
    }
}

OrderService는 할인 구체 구현이 아니라 추상 계약에 의존한다. 새로운 정책을 추가할 때 기존 가격 계산 흐름을 크게 바꾸지 않을 수 있다.

이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.