라반의꾀
2025년 11월 27일 13:26분
package com.jesusbornd.genesis;
/*
* Genesis_29_Chapter_Lv1_V2.java
* Variation: Mini Timeline Engine
* - enum Step: ARRIVAL → MEETING → DECEIVE → MARRIAGE
* - switch(step) for commentary
*/
import java.util.List;
public class Genesis_29_Chapter_Lv1_V2 {
enum Step { ARRIVAL, MEETING, DECEIVE, MARRIAGE }
record Point(String ref, String krv, String esv, Step step) {}
private static final List<Point> FLOW = List.of(
new Point(
"창세기 29:1–2",
"야곱이 동방 사람의 땅에 이르러… 우물 곁에서 양 떼를 보며…",
"Jacob came to the land of the people of the east… saw a well in the field…",
Step.ARRIVAL
),
new Point(
"창세기 29:10–11",
"야곱이 라헬에게 입맞추고 소리 높여 울며…",
"Jacob kissed Rachel and wept aloud.",
Step.MEETING
),
new Point(
"창세기 29:23–25",
"밤에 그의 딸 레아를 데려다가… 아침에 보니 레아라!",
"He took his daughter Leah… but in the morning, behold, it was Leah!",
Step.DECEIVE
),
new Point(
"창세기 29:27–30",
"다른 딸도 주리니… 또 7년을 봉사하라…",
"Complete the week… we will give you the younger daughter… serve another seven years.",
Step.MARRIAGE
)
);
public static void main(String[] args) {
System.out.println("[Genesis 29 | KRV & ESV]");
System.out.println("— Mini Timeline Engine (초중급) —\n");
for (Point p : FLOW) {
System.out.println("■ STEP: " + p.step());
System.out.println(p.ref());
System.out.println("KRV: " + p.krv());
System.out.println("ESV: " + p.esv());
System.out.println("=> " + explain(p.step()));
System.out.println();
}
System.out.println("[Summary]");
System.out.println("야곱은 하나님이 인도하신 자리에서 라헬을 만나고(29:1–11), "
+ "라반의 속임으로 레아와 결혼하지만(29:23–25), "
+ "하나님은 깨어진 인간의 선택 속에서도 언약을 이어가신다(29:27–30).\n");
System.out.println("[Practice]");
System.out.println("사람의 속임이 있어도 하나님은 길을 잃지 않으신다 — 오늘 ‘하나님이 인도하신 자리’를 주목해 보자.");
}
private static String explain(Step s) {
return switch (s) {
case ARRIVAL -> "하나님의 인도는 때로 우연처럼 보이는 장면 속에서 드러난다.";
case MEETING -> "라헬과의 만남은 하나님의 때와 예비하심의 장면.";
case DECEIVE -> "라반의 속임은 인간의 계획이 얼마나 불완전한지를 보여준다.";
case MARRIAGE -> "언약의 계보는 흔들리지만, 하나님은 길을 새롭게 세우신다.";
};
}
}
package com.jesusbornd.genesis;
/*
* Genesis_29_Chapter_Lv1_V2.java
* Variation: Mini Timeline Engine
* - enum Step: ARRIVAL → MEETING → DECEIVE → MARRIAGE
* - switch(step) for commentary
*/
import java.util.List;
public class Genesis_29_Chapter_Lv1_V2 {
enum Step { ARRIVAL, MEETING, DECEIVE, MARRIAGE }
record Point(String ref, String krv, String esv, Step step) {}
private static final List<Point> FLOW = List.of(
new Point(
"창세기 29:1–2",
"야곱이 동방 사람의 땅에 이르러… 우물 곁에서 양 떼를 보며…",
"Jacob came to the land of the people of the east… saw a well in the field…",
Step.ARRIVAL
),
new Point(
"창세기 29:10–11",
"야곱이 라헬에게 입맞추고 소리 높여 울며…",
"Jacob kissed Rachel and wept aloud.",
Step.MEETING
),
new Point(
"창세기 29:23–25",
"밤에 그의 딸 레아를 데려다가… 아침에 보니 레아라!",
"He took his daughter Leah… but in the morning, behold, it was Leah!",
Step.DECEIVE
),
new Point(
"창세기 29:27–30",
"다른 딸도 주리니… 또 7년을 봉사하라…",
"Complete the week… we will give you the younger daughter… serve another seven years.",
Step.MARRIAGE
)
);
public static void main(String[] args) {
System.out.println("[Genesis 29 | KRV & ESV]");
System.out.println("— Mini Timeline Engine (초중급) —\n");
for (Point p : FLOW) {
System.out.println("■ STEP: " + p.step());
System.out.println(p.ref());
System.out.println("KRV: " + p.krv());
System.out.println("ESV: " + p.esv());
System.out.println("=> " + explain(p.step()));
System.out.println();
}
System.out.println("[Summary]");
System.out.println("야곱은 하나님이 인도하신 자리에서 라헬을 만나고(29:1–11), "
+ "라반의 속임으로 레아와 결혼하지만(29:23–25), "
+ "하나님은 깨어진 인간의 선택 속에서도 언약을 이어가신다(29:27–30).\n");
System.out.println("[Practice]");
System.out.println("사람의 속임이 있어도 하나님은 길을 잃지 않으신다 — 오늘 ‘하나님이 인도하신 자리’를 주목해 보자.");
}
private static String explain(Step s) {
return switch (s) {
case ARRIVAL -> "하나님의 인도는 때로 우연처럼 보이는 장면 속에서 드러난다.";
case MEETING -> "라헬과의 만남은 하나님의 때와 예비하심의 장면.";
case DECEIVE -> "라반의 속임은 인간의 계획이 얼마나 불완전한지를 보여준다.";
case MARRIAGE -> "언약의 계보는 흔들리지만, 하나님은 길을 새롭게 세우신다.";
};
}
}
Search
Categories
← 목록으로
Comments
야곱이 도착한 자리도, 라헬을 만난 순간도, 라반의 속임조차도 하나님은 다 주권 아래 엮어 언약의 길로 밀어가신다는 것. 묵상용으로도, 코드 구조 연습용으로도 너무 좋은 챕터였습니다!