예외상속

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, "야곱"))

Comments

Avatar
 2026년 5월 19일 13:01분

엣지케이스를 미리 정의해두는 것이 시스템 안정성의 핵심이군요.



Search

← 목록으로