SW 전공

시험 직전 요약장

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

이론 목록

객체지향 설계와 다형성

원래 이론 →

판단 기준

상속은 강한 관계를 만든다. 변경 가능성이 크거나 단순 기능 재사용 목적이라면 객체를 필드로 포함하고 위임하는 합성이 더 유연할 수 있다.

예시·텍스트
상속: ElectricCar is-a Car
합성: Car has-a Engine

“상속보다 합성을 무조건 사용”하는 규칙이 아니라, 도메인 관계와 교체 가능성을 보고 선택한다.

이 부분의 원문 →

헷갈리는 개념

Java의 인스턴스 메서드 오버라이딩과 필드·정적 메서드 숨김은 다르게 판독한다.

JAVA
class Parent {
    int value = 1;
    static String who() { return "P"; }
    String show() { return "P"; }
}
class Child extends Parent {
    int value = 2;
    static String who() { return "C"; }
    @Override String show() { return "C"; }
}
Parent p = new Child();
도식
p.value→1  : 선언 타입 기준 필드 선택p.who()→P  : 정적 메서드 숨김, 선언 타입 기준p.show()→C  : 인스턴스 메서드 오버라이딩, 실제 객체 기준
이 부분의 원문 →

대표 계산·예제

JAVA
interface Shape {
    double area();
}

class Circle implements Shape {
    private final double radius;

    Circle(double radius) {
        this.radius = radius;
    }

    @Override
    public double area() {
        return Math.PI * radius * radius;
    }
}

class Rectangle implements Shape {
    private final double width;
    private final double height;

    Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    @Override
    public double area() {
        return width * height;
    }
}

호출자는 구체 클래스가 아니라 Shape에 의존할 수 있다.

이 부분의 원문 →

내 최근 연습 오답

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

학습 기록 →

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