권한검사

2026년 4월 24일 09:30분

민수기 12장에서 미리암과 아론이 모세의 권위에 도전합니다. 미리암은 나병 징계를 받습니다. 나는 역할 등급을 정의하고, 낮은 등급이 높은 등급을 침범하면 접근 거부와 징계를 내리는 권한 검사기를 만들었습니다.

package com.jesusbornd.numbers;

public class Numbers_12_Chapter_Lv2 {

    enum Role { PROPHET, HIGH_PROPHET, LEADER }

    record Person(String name, Role role) {}

    static class AuthorityChecker {
        private final Role requiredRole;

        AuthorityChecker(Role requiredRole) { this.requiredRole = requiredRole; }

        void challenge(Person challenger, Person target) {
            System.out.printf("%s(%s) → %s(%s) 권위 도전%n",
                challenger.name(), challenger.role(),
                target.name(), target.role());

            if (challenger.role().ordinal() < target.role().ordinal()) {
                System.out.println("  ❌ 권한 부족 — 징계 적용");
            } else {
                System.out.println("  ✅ 허용");
            }
        }
    }

    public static void main(String[] args) {
        Person moses  = new Person("모세",   Role.LEADER);
        Person miriam = new Person("미리암", Role.PROPHET);
        Person aaron  = new Person("아론",   Role.HIGH_PROPHET);

        AuthorityChecker checker = new AuthorityChecker(Role.LEADER);
        checker.challenge(miriam, moses);
        checker.challenge(aaron,  moses);
        checker.challenge(moses,  miriam);
    }
}

from enum import IntEnum
from dataclasses import dataclass

class Role(IntEnum):
    PROPHET      = 1
    HIGH_PROPHET = 2
    LEADER       = 3

@dataclass
class Person:
    name: str
    role: Role

def challenge(challenger: Person, target: Person):
    print(f"{challenger.name}({challenger.role.name}) → {target.name}({target.role.name}) 권위 도전")
    if challenger.role < target.role:
        print("  ❌ 권한 부족 — 징계 적용")
    else:
        print("  ✅ 허용")


if __name__ == "__main__":
    moses  = Person("모세",   Role.LEADER)
    miriam = Person("미리암", Role.PROPHET)
    aaron  = Person("아론",   Role.HIGH_PROPHET)

    challenge(miriam, moses)
    challenge(aaron,  moses)
    challenge(moses,  miriam)

Comments

Avatar
 2026년 4월 24일 12:01분

자기 권한 밖의 일에 손댔을 때의 결과가 생각보다 무겁더라고요.



Search

← 목록으로