서원계약
2026년 5월 22일 09:30분
민수기 30장에서 서원은 반드시 지켜야 하며 특정 조건에서만 파기할 수 있습니다. 계약은 체결 순간부터 유효하고 규칙에 따라서만 취소됩니다. 나는 서원을 계약으로 모델링하고 취소 가능 여부를 검증하는 계약기를 만들었습니다.
package com.jesusbornd.numbers;
public class Numbers_30_Chapter_Lv1 {
enum Status { ACTIVE, CANCELLED, ENFORCED }
record Vow(String person, String content, boolean guardianOverrode, boolean isAdult) {
Status evaluate() {
if (isAdult) return Status.ENFORCED;
return guardianOverrode ? Status.CANCELLED : Status.ENFORCED;
}
}
public static void main(String[] args) {
var vows = java.util.List.of(
new Vow("성인_르우벤", "금식 서원", false, true),
new Vow("미성년_딸", "헌물 서원", true, false),
new Vow("미성년_아들", "금식 서원", false, false)
);
vows.forEach(v -> System.out.printf("%s → %s%n", v.person(), v.evaluate()));
}
}
def evaluate_vow(person, guardian_overrode, is_adult):
if is_adult: status = "ENFORCED"
elif guardian_overrode: status = "CANCELLED"
else: status = "ENFORCED"
print(f"{person} → {status}")
if __name__ == "__main__":
evaluate_vow("성인_르우벤", False, True)
evaluate_vow("미성년_딸", True, False)
evaluate_vow("미성년_아들", False, False)
Search
Categories
← 목록으로
Comments
한번 맺은 계약이 어떤 조건에서 유효한지 명확히 정의하는 게 중요하네요.