사닥다리
2025년 11월 26일 10:37분
package com.jesusbornd.genesis;
/*
* Genesis_28_Chapter_Lv1_V2.java
* KO: Lv1~초중급 — record, switch, StringBuilder 연습
* EN: Beginner–Lower Intermediate — record, switch, StringBuilder practice
*/
public class Genesis_28_Chapter_Lv1_V2 {
// --- Java record (간단 데이터 홀더) ---
public record Verse(String ref, String krv, String esv) { }
// --- 4 Key Verses (28장 핵심 장면) ---
private static final Verse[] SAMPLE = {
new Verse(
"창세기 28:12",
"사닥다리가 땅에 서 있고 꼭대기가 하늘에 닿았고…",
"He dreamed, and behold, there was a ladder set up on the earth…"
),
new Verse(
"창세기 28:13",
"나는 여호와니 너의 조부 아브라함의 하나님…",
"I am the LORD, the God of Abraham your father…"
),
new Verse(
"창세기 28:15",
"내가 너와 함께 있어… 너를 떠나지 아니하리라",
"I am with you… I will not leave you…"
),
new Verse(
"창세기 28:16",
"여호와께서 과연 여기 계시거늘 내가 알지 못하였도다",
"Surely the LORD is in this place, and I did not know it."
)
};
public static void main(String[] args) {
printTitle();
printVerses();
printSummary();
printPractice();
}
private static void printTitle() {
System.out.println("[Genesis 28 | KRV & ESV]");
System.out.println("— Lv1~초중급: record + switch + builder 활용 —\n");
}
private static void printVerses() {
for (Verse v : SAMPLE) {
System.out.println("■ " + v.ref());
System.out.println("KRV: " + v.krv());
System.out.println("ESV: " + v.esv());
System.out.println();
}
}
private static void printSummary() {
StringBuilder sb = new StringBuilder();
sb.append("[Summary]\n");
// switch 패턴 — 메시지 조합
for (Verse v : SAMPLE) {
switch (v.ref()) {
case "창세기 28:12" -> sb.append("• 하나님은 땅과 하늘을 연결하는 계시의 하나님. ");
case "창세기 28:13" -> sb.append("• 약속은 아브라함-이삭-야곱으로 이어진다. ");
case "창세기 28:15" -> sb.append("• ‘함께 하심’은 도망자의 길에도 유효하다. ");
case "창세기 28:16" -> sb.append("• 하나님의 임재는 우리가 모르는 순간에도 있다. ");
}
}
System.out.println(sb.toString() + "\n");
}
private static void printPractice() {
System.out.println("[Practice]");
System.out.println("오늘 하루 ‘하나님이 이미 여기 계신다’는 문장을 1번 말하며 시작해 보자.");
}
}
#### Genesis_28_Chapter_Lv1_V2.py
#### KO: Lv1~초중급 — dataclass, unpacking, formatted block
#### EN: Beginner–Lower Intermediate — dataclass, unpacking, formatted block
from dataclasses import dataclass
from typing import List
@dataclass
class Verse:
ref: str
krv: str
esv: str
def sample_verses() -> List[Verse]:
return [
Verse("창세기 28:12",
"사닥다리가 땅에 서 있고 꼭대기가 하늘에 닿았고…",
"He dreamed, and behold, a ladder was set on the earth…"),
Verse("창세기 28:13",
"나는 여호와니 너의 조부 아브라함의 하나님…",
"I am the LORD, the God of Abraham your father…"),
Verse("창세기 28:15",
"내가 너와 함께 있어… 너를 떠나지 아니하리라",
"I am with you… I will not leave you…"),
Verse("창세기 28:16",
"여호와께서 과연 여기 계시거늘 내가 알지 못하였도다",
"Surely the LORD is in this place, and I did not know it."),
]
def show_verses(rows: List[Verse]):
for v in rows:
print(f"■ {v.ref}")
print(f"KRV: {v.krv}")
print(f"ESV: {v.esv}\n")
def show_summary(rows: List[Verse]):
bullet = []
for v in rows:
if "28:12" in v.ref:
bullet.append("• 하나님은 땅과 하늘을 잇는 계시의 주권자.")
elif "28:13" in v.ref:
bullet.append("• 약속은 하나님이 유지하신다.")
elif "28:15" in v.ref:
bullet.append("• ‘함께 하심’은 야곱의 도망길에서도 변함없다.")
elif "28:16" in v.ref:
bullet.append("• 하나님은 우리가 모르는 순간에도 임재하신다.")
print("[Summary]")
print(" ".join(bullet) + "\n")
def show_practice():
print("[Practice]")
print("오늘 ‘여호와께서 과연 여기 계시다’는 고백을 1번 소리내어 말해보자.")
def main():
print("[Genesis 28 | KRV & ESV]")
print("— Lv1~초중급: dataclass + 조건 분기 요약 —\n")
rows = sample_verses()
show_verses(rows)
show_summary(rows)
show_practice()
if __name__ == "__main__":
main()
Search
Categories
← 목록으로
Comments
“도망길에서도 하늘을 잇고 동행하시는 주님의 낮아진 사랑이 창세기 28장에서 또렷하게 빛나네요.”