예외상속
2026년 5월 19일 09:30분
민수기 27장에서 아들 없이 딸만 있는 경우의 상속 예외가 처리됩니다. 기본 규칙이 커버하지 못하는 엣지케이스를 별도로 처리합니다. 나는 상속 조건을 순서대로 검사하고 예외 케이스를 처리하는 상속기를 만들었습니다.
package com.jesusbornd.numbers;
import java.util.Optional;
public class Numbers_27_Chapter_Lv3 {
record Person(String name, boolean hasSon, boolean hasDaughter, String father) {}
static String inherit(Person p) {
if (p.hasSon()) return p.name() + " → 아들에게 상속";
if (p.hasDaughter()) return p.name() + " → 딸에게 상속 (예외 처리)";
if (p.father() != null) return p.name() + " → 형제에게 상속";
return p.name() + " → 친족에게 상속 (최종 폴백)";
}
public static void main(String[] args) {
System.out.println(inherit(new Person("슬로브핫", false, true, "헤벨")));
System.out.println(inherit(new Person("르우벤", true, false, "야곱")));
System.out.println(inherit(new Person("시므온", false, false, "야곱")));
}
}
def inherit(name, has_son, has_daughter, father):
if has_son: return f"{name} → 아들에게 상속"
if has_daughter: return f"{name} → 딸에게 상속 (예외 처리)"
if father: return f"{name} → 형제에게 상속"
return f"{name} → 친족에게 상속 (최종 폴백)"
if __name__ == "__main__":
print(inherit("슬로브핫", False, True, "헤벨"))
print(inherit("르우벤", True, False, "야곱"))
print(inherit("시므온", False, False, "야곱"))
Search
Categories
← 목록으로
Comments
엣지케이스를 미리 정의해두는 것이 시스템 안정성의 핵심이군요.