추상 클래스 규칙과 대우 증명

앞면

추상 클래스의 두 원명제와 각각의 대우는? 왜 대우로 바꿔 말할 수 있나?

뒷면

원명제 P→Q와 대우 Q→P는 논리적으로 동치 — 원명제가 참이면 대우도 반드시 참이므로 그대로 써도 됨 (역 Q→P·이 P→Q는 동치가 아님)

  • 명제 쌍 1
    • 원명제: 추상 메서드를 가지면 → 반드시 추상 클래스
    • 대우: 구체 클래스이면 → 추상 메서드를 가지지 않음
  • 명제 쌍 2
    • 원명제: 추상 클래스이면 → 개체를 만들 수 없음
    • 대우: 개체를 만들 수 있으면 → 구체 클래스

전제: Java에서 모든 클래스는 추상 클래스 아니면 구체 클래스 → “추상 클래스가 아니다 = 구체 클래스다”

주의: 역·이는 거짓 — 추상 메서드가 없어도 abstract로 추상 클래스를 만들 수 있으므로 (추상 클래스 ↔ 추상 메서드는 독립 개념)

출처: https://pocu-site.pages.dev/pocu-note/COMP2500/009-abstract-method-class/009-005-fix-with-abstract-method-class/