봉인처리

2026년 2월 9일 11:20분

package com.jesusbornd.exodus;

import java.util.ArrayList;
import java.util.List;

public class Exodus_29_Chapter_Lv3 {

    static class Batch {
        private final List<String> steps = new ArrayList<String>();
        private boolean sealed = false;

        void add(String step) {
            if (sealed) throw new IllegalStateException("sealed");
            steps.add(step);
        }

        void seal() {
            sealed = true;
        }

        List<String> steps() {
            return steps;
        }
    }

    public static void main(String[] args) {
        Batch batch = new Batch();

        batch.add("씻음 / Wash");
        batch.add("바름 / Anoint");
        batch.add("입힘 / Clothe");
        batch.add("헌신 / Consecrate");

        batch.seal();

        for (int i = 0; i < batch.steps().size(); i++) {
            System.out.println(batch.steps().get(i));
        }
    }
}

from dataclasses import dataclass, field

@dataclass
class Batch:
    steps: list = field(default_factory=list)
    sealed: bool = False

    def add(self, step: str):
        if self.sealed:
            raise RuntimeError("sealed")
        self.steps.append(step)

    def seal(self):
        self.sealed = True

batch = Batch()
batch.add("씻음 / Wash")
batch.add("바름 / Anoint")
batch.add("입힘 / Clothe")
batch.add("헌신 / Consecrate")
batch.seal()

for s in batch.steps:
    print(s)

Comments

Avatar
 2026년 2월 9일 11:28분

“성별은 즉흥이 아니라, 단계가 쌓이고 봉인되는 커밋이다.”



Search

← 목록으로