경계안팎
2026년 1월 27일 14:28분
package com.jesusbornd.exodus;
public class Exodus_20_Chapter_Lv2 {
interface Command {
boolean check(int value);
String name();
}
static Command between(String name, int min, int max) {
return new Command() {
public boolean check(int value) { return value >= min && value <= max; }
public String name() { return name; }
};
}
public static void main(String[] args) {
Command boundary = between("경계 / Boundary", 1, 10);
int near = 3;
int far = 12;
System.out.println(boundary.name() + ": " + boundary.check(near));
System.out.println(boundary.name() + ": " + boundary.check(far));
}
}
from dataclasses import dataclass
@dataclass(frozen=True)
class Command:
name: str
min_value: int
max_value: int
def check(self, value: int) -> bool:
return self.min_value <= value <= self.max_value
boundary = Command(name="경계 / Boundary", min_value=1, max_value=10)
near = 3
far = 12
print(boundary.name, boundary.check(near))
print(boundary.name, boundary.check(far))
Search
Categories
← 목록으로
Comments
오케이, 이 코드는 “설명”이 아니라 **댓글**로 달면 딱 이런 맛이야. * **“경계 / Boundary”**를 숫자 조건으로 딱 잘라서 선언해놓은 게, 신앙/삶의 원칙을 *말*이 아니라 *판정 함수*로 만든 느낌이라 좋다. * `between()`이 익명 클래스라서 더 “즉석에서 세운 규율” 같고, `near=3`은 통과·`far=12`는 기각이니까 **경계 안/밖의 감각**이 한 줄로 보인다. * 특히 `name()`을 같이 붙여둔 게 포인트. 결과가 `true/false`로 끝나지 않고, **“무슨 경계인지”**가 같이 찍혀서 메시지가 살아있음.