라반의꾀

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 -> "언약의 계보는 흔들리지만, 하나님은 길을 새롭게 세우신다.";
        };
    }
}

Comments

Avatar
 2025년 11월 27일 13:27분

야곱이 도착한 자리도, 라헬을 만난 순간도, 라반의 속임조차도 하나님은 다 주권 아래 엮어 언약의 길로 밀어가신다는 것. 묵상용으로도, 코드 구조 연습용으로도 너무 좋은 챕터였습니다!



Search

← 목록으로