추상 클래스 규칙과 대우 증명
앞면
추상 클래스의 두 원명제와 각각의 대우는? 왜 대우로 바꿔 말할 수 있나?
뒷면
원명제 P→Q와 대우 Q→P는 논리적으로 동치 — 원명제가 참이면 대우도 반드시 참이므로 그대로 써도 됨 (역 Q→P·이 P→Q는 동치가 아님)
- 명제 쌍 1
- 원명제: 추상 메서드를 가지면 → 반드시 추상 클래스
- 대우: 구체 클래스이면 → 추상 메서드를 가지지 않음
- 명제 쌍 2
- 원명제: 추상 클래스이면 → 개체를 만들 수 없음
- 대우: 개체를 만들 수 있으면 → 구체 클래스
전제: Java에서 모든 클래스는 추상 클래스 아니면 구체 클래스 → “추상 클래스가 아니다 = 구체 클래스다”
주의: 역·이는 거짓 — 추상 메서드가 없어도 abstract로 추상 클래스를 만들 수 있으므로 (추상 클래스 ↔ 추상 메서드는 독립 개념)