서원절차
2026년 4월 16일 09:30분
민수기 6장의 나실인 서원은 단계별로 진행됩니다. 서원 선언, 기간 준수, 오염 시 재시작, 기간 완료 후 예물 드림 순입니다. 나는 현재 단계를 추적하고 다음 단계로 넘어가는 상태 머신을 만들었습니다.
package com.jesusbornd.numbers;
public class Numbers_06_Chapter_Lv1 {
enum VowState { DECLARED, IN_PROGRESS, DEFILED, COMPLETED }
static class NaziriteVow {
private VowState state = VowState.DECLARED;
private final String name;
private int daysCompleted = 0;
private final int required;
NaziriteVow(String name, int days) { this.name = name; this.required = days; }
void progress(int days) {
if (state == VowState.IN_PROGRESS || state == VowState.DECLARED) {
state = VowState.IN_PROGRESS;
daysCompleted += days;
if (daysCompleted >= required) state = VowState.COMPLETED;
}
}
void defile() {
if (state == VowState.IN_PROGRESS) {
state = VowState.DEFILED;
daysCompleted = 0;
System.out.println(name + " → 오염! 재시작");
}
}
void status() {
System.out.printf("%s → %s (%d/%d일)%n", name, state, daysCompleted, required);
}
}
public static void main(String[] args) {
NaziriteVow vow = new NaziriteVow("삼손", 30);
vow.status();
vow.progress(10); vow.status();
vow.defile(); vow.status();
vow.progress(30); vow.status();
}
}
from enum import Enum
class VowState(Enum):
DECLARED = "선언됨"
IN_PROGRESS = "진행 중"
DEFILED = "오염됨"
COMPLETED = "완료"
class NaziriteVow:
def __init__(self, name: str, days: int):
self.name = name
self.required = days
self.days_completed = 0
self.state = VowState.DECLARED
def progress(self, days: int):
if self.state in (VowState.DECLARED, VowState.IN_PROGRESS):
self.state = VowState.IN_PROGRESS
self.days_completed += days
if self.days_completed >= self.required:
self.state = VowState.COMPLETED
def defile(self):
if self.state == VowState.IN_PROGRESS:
self.state = VowState.DEFILED
self.days_completed = 0
print(f"{self.name} → 오염! 재시작")
def status(self):
print(f"{self.name} → {self.state.value} ({self.days_completed}/{self.required}일)")
if __name__ == "__main__":
vow = NaziriteVow("삼손", 30)
vow.status()
vow.progress(10); vow.status()
vow.defile(); vow.status()
vow.progress(30); vow.status()
Search
Categories
← 목록으로
Comments
헌신에도 절차가 있다는 게 오히려 헌신을 더 진지하게 만들어요.