컬렉션 프레임 워크의 등장배경

 - 배열은 쉽게 생성하고 사용할 수 있지만, 저장할 수 있는 객체 수가 배열을 생성할 때 결정되기 때문에 불특정 다수의 객체를 저장하기에 문제가 있다.

 - 배열의 또 다른 문제점은 객체를 삭제했을 때 해당 인덱스가 비게 될 수 있다.

 - 배열의 문제점을 해결하고, 널리 알려져 있는 자료구조(Data Structure)를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록
java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았다.


자바 컬렉션이란 ?

 - 객체를 수집해서 저장하는 역할을 한다.

 - 프레임워크란 사용 방법을 미리 정해놓은 라이브러리를 말한다.

 - 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있다.



List 인터페이스의 메소드


기능

메소드

설명

객체 추가

boolean add(E e)

주어진 객체를 맨 끝에 추가

void add(int index, E element)

주어진 인덱스에 객체를 추가

set(int index, E element)

주어진 인덱스에 저장된 객체를 주어진 객체로 바꿈

객체 검색

boolean contains(Object o)

주어진 객체가 저장되어 있는지 여부

E get(int index)

주어진 인덱스에 저장된 객체를 리턴

isEmpty()

컬렉션이 비어 있는지 조사

int size()

저장되어 있는 전체 객체 수를 리턴

객체 삭제

void clear()

저장된 모든 객체를 삭제

E remove(int index)

주어진 인덱스에 저장된 객체를 삭제

boolean remove(Object o)

주어진 객체를 삭제


 - List 컬렉션은 객체를 일렬로 늘어놓은 구조를 가지고 있다.

 - 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공한다.

 - List는 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조한다.

 - 동일한 객체를 중복 저장할 수 있는데, 이 경우 동일한 번지가 참조된다.

 - null도 저장이 가능한데, 이 경우 해당 인덱스는 객체를 참조하지 않는다.


List 사용법

 1. 객체 추가 - add(int index, E element), add(E e)

   1) 맨 끝 추가

List<Board> list = new Vector<Board>();
list.add(new Board("제목1", "내용1", "글쓴이1"));


   2) 인덱스 추가

list.add(1, new Board("제목5", "내용5", "글쓴이5"));


 2. 객체 검색 - get(int index), contains(Object o)

  - 인덱스로 객체 찾기

String str = list.get(3).toString();


  - 특정 객체가 존재하는지 확인

list.contains(Object o);


 3. 객체 삭제 - E remove(int index), remove(Object o)

  1) 인덱스로 객체 삭제

list.remove(2);


  2) 객체 이름으로 삭제

list.remove(Object o);


 4. 객체 출력(for)

  1) for문

System.out.println("for문");

for(int i = 0 ; i < list.size() ; i++){

System.out.println(list.get(i).toString());

}


  2) each for문

System.out.println("each for문");

for(Board index : list){


System.out.println(index.toString());

}



ArrayList


 - List 인터페이스의 구현 클래스

 - ArrayList에 객체를 추가하면 객체가 인덱스로 관리

 - 배열과 다르게 자동적으로 저장 용량이 늘어난다.

 - 기본 생성자로 ArrayList 객체를 생성하면 내부에 10개의 객체를 저장할 수 있는 초기 용량을 가지게 된다. (처음부터 용량을 크게 잡을 수도 있음)

 - 일반적으로 컬렉션에는 단일 종류의 객체들만 저장된다.


 - ArrayList에 객체 추가하면 인덱스 0부터 차례대로 저장된다.

 - ArrayList에서 특정 인덱스의 객체를 제거하면 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 당겨진다.

 - 특정 인덱스에 객체를 삽입하면 해당 인덱스부터 마지막 인덱스까지 모두 1씩 밀려난다.

 - 따라서 빈번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList를 사용하는 것이 바람직하지 않다.

 - 인덱스 검색이나, 맨 마지막에 객체를 추가하는 경우에 사용하기에 좋다.


ArrayList 사용법

 1. 객체 추가 - add(int index, E element), add(E e)

   1) 맨 끝 추가

   2) 인덱스 추가


 2. 객체 검색 - get(int index), contains(Object o)

  1) 특정 인덱스의 객체 얻기

  2) 특정 객체가 포함되어있는지 확인


 3. 객체 삭제 - E remove(int index), remove(Object o)

  1) 특정 인덱스의 객체 삭제

  2) 특정 객체 삭제


 4. 객체 출력

  1) size()

  2) for

  3) each for


Vector

 - ArrayList와 다르게 Vector는 동기화된(synchronized) 메소드로 구성되어 있기 때문에 멀티 스레드가 동시에 이 메소드들을 실행 할 수 없다.

 - 하나의 스레드가 실행을 완료해야만 다른 스레드를 실행할 수 있다.

 - 멀티 스레드 환경에서 안전하게 객체를 추가, 삭제할 수 있다.


Vector 사용법

 1. 객체 추가 - add(E e)

 2. 객체 검색

 3. 객체 삭제

 4. 객체 출력


왜 제네릭을 사용해야 하는가?

 - Java 5부터 제네릭(Generic) 타입이 새로 추가 되었다.

 - 제네릭 타입을 이용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있게 되었다.

 - 제네릭은 컬렉션, 람다식, 스트림, NIO, API Document에서 많이 쓰이기 때문에 확실하게 이해해 두어야 한다.


 - 제네릭은 클래스와 인터페이스, 그리고 메소드를 정의할 때 타입(type)을 파라미터(Parameter)로 사용할 수 있도록 한다.


제네릭의 강점

 - 컴파일 시 강한 타입 체크를 할 수 있다.

  : 자바 컴파일러가 코드에서 잘못 사용된 타입 때문에 발생하는 문제점을 제거하기 위해 제네릭 코드에 대해 강한 타입 체크를 하여 

  : 실행 시 타입 에러가 나는 것보다는 컴파일 시미리 타입을 강하게 체크해서 에러를 사전에 방지하도록 한다.


 - 타입 변환(casting)을 제거한다.

  : 비제네릭 코드는 불필요한 타입 변환을 하기 때문에 프로그램 성능에 악영향을 미친다.

  : 비제네릭 코드와 제네릭 코드의 차이


 > 비 제네릭 코드


void defaultCasting() {

List list = new ArrayList(); // 비제네릭 코드

list.add("Hello");

String str = (String) list.get(0); // 형변환

System.out.println(str);

}


 > 제네릭 코드 


void genericCasting() {

List<String> list = new ArrayList<>(); // 제네릭 코드

list.add("Hello");

String str = list.get(0);


}



Thread

프로세스

 : 프로세스프로그램에 대한 각각의 인스턴스를 의미하므로, 같은 프로그램을 여러 개 띄웠다고 해서 하나의 프로세스를 공유하는 것은 아니다.

 : 프로세스는 운영체제로부터 주소공간, 파일, 메모리 등을 할당받는다.

 : 간단히 말하면 실행중인 프로그램

 : 프로그램을 수행하는데 필요한 데이터, 메모리, 자원, 쓰레드로 구성되어 있다.

쓰레드

 : 프로세스의 자원으로 실제 작업을 실행하는 것이 쓰레드이다.

 : 한 프로세스 내에서 동작되는 여러 실행의 흐름으로, 프로세스 내의 주소 공간이나 자원들을 대부분 공유하면서 실행된다.


프로세스와 쓰레드

 > 프로세스는 자신만의 고유 공간과 자원을 할당 받아 사용하는데 비해 스레드는 다른 스레드와 공간과 자원을 공유하여 사용한다.


Thread 사용의 장점

 : 스레드는 프로세스내에서 각각의 스택 공간을 제외한 나머지 공간과 시스템 자원을 공유한다.
 : 그러므로 프로세스를 이용하여 동시에 처리하던 일을 스레드로 구현할 경우 메모리 공간은 물론 시스템 자원 소모도 현격히 줄어든다.

 : 스레드 간의 통신이 필요할 경우 별도의 자원을 이용하는 것이 아니라 전역 변수의 공간을 이용하여 데이터를 주고 받을 수 있다.


 - 시스템의 처리량이 향상된다.

 - 시스템의 자원 소모가 줄어든다.

 - 프로그램의 응답 시간이 단축된다.

 - 프로세스 간 통신 방법에 비해 스레드 간의 통신 방법이 훨씬 간단하다.

 ( 스레드 간의 통신 시 데이터를 주고받는 방법은 메모리 공간을 공유하므로 데이터 세그먼트, 즉 전역 변수를 이용하여 구현한다. )

 (공유하는 전역 변수를 여러 스레드가 함께 사용하기 위해서는 충돌 문제가 발생할 수 있는데 이런 문제가 발생하지 않도록 동기화 문제를 해결해야 한다.)


Thread 사용의 단점

 : 여러 개의 스레드를 이용하는 프로그램을 작성하는 경우 주의 깊게 설계해야 한다. 

 : 미묘한 시간 차나 잘못된 변수를 공유함으로써 오류가 발생할 수 있다.



자바에서의 Thread

 1. 쓰레드 클래스 상속하기 (다른 클래스를 상속받을 수 없다.)


public class ThreadEx extends Thread {


@Override

public void run() { // Thread 코드


}


public static void main(String[] args) {

new ThreadEx().start(); // 쓰레드 시작 .start();


}

}


 2. Runnable 인터페이스 구현하기 (재사용성이 높으며, 일관성 유지가능)


public class ThreadEx implements Runnable {


@Override

public void run() { // Thread 코드


}


public static void main(String[] args) {

ThreadEx tEx = new ThreadEx();

Thread t = new Thread(tEx); // 쓰레드 구현

t.start();

}

}


 3. 쓰레드의 특징

  - start() vs run()

  - start()

 : 새로운 스레드가 작업을 실행하는데 필요한 호출스택을 생성한 후 run()을 호출 해 새로 생성한 호출스택 첫번째로 run()을 저장한다.

  - run()

 : 스레드를 실행시키는게 아니라 클래스에 속한 메서드 하나를 호출하는 것


 ※ 모든 쓰레드는 독립적인 작업 수행을 위해 자신만의 호출 스택을 필요로 하기 때문에 

새로운 쓰레드를 생성하고 실행시킬 때마다 새로운 호출스택이 생성되고 쓰레드가 종료되면 호출 스택은 소멸된다.


run() 메소드 호출 시 Main() 위에 Run() 메소드를 하나 호출하는 것 

start()할 때 독립적인 작업 수행을 위해

쓰레드마다 각자의 콜 스택을 생성

run() 메소드를 실행한다.


※ 4개의 호출스택(Thread)가 번갈아 가며 실행하는

 멀티쓰레드(다중처리처럼 보이는 것)


 4. Thread의 동기화(synchronized)

 : 싱글스레드의 경우 프로세스 내 단 하나의 스레드만 작업하기 때문에 자원을 이용하는 데에 문제가 없지만 멀티 스레드일 경우 같은 자원을 공유할 때 문제가 생길 수 있다.

 : 그렇기 때문에 현재 작업 시 lock을 걸어 다른 스레드가 접근하지 못하게 하는 작업이 필요하다. 이 작업을 '동기화(synchronized)'라고 한다.


 - 하나의 객체에 다수의 Thread가 접근 시

  Synchronized(객체 참조변수) { }

 - 하나의 메서드 내에서 객체 참조를 하는 경우

  public Synchronized void 메소드명( ) { }



MultiThread Example Code




public class Multithread {


SharedArea area; // 공유 객체 선언


public Multithread() {

area = new SharedArea(); // 공유 객체 생성

area.account1 = new Account("111-111-1111", "이몽룡", 20000000);

area.account2 = new Account("222-222-2222", "성춘향", 10000000);

TransferThread thread1 = new TransferThread(area); // 입/출금 Thread 객체

thread1.start();

PrintThread thread2 = new PrintThread(area); // 결과 출력 Thread 객체

thread2.start();

}


public static void main(String[] args) {

new Multithread();

}

}


/**

 *

 * @author SeokRae

 * @Description 출력 Thread

 */

class PrintThread extends Thread {

SharedArea sharedArea;


public PrintThread(SharedArea area) {

sharedArea = area;

}


@Override

public void run() {

for (int cnt = 0; cnt < 12; cnt++) {

int sum = sharedArea.getTotal();

System.out.println("계좌 잔액 합계 : " + sum);

try {

Thread.sleep(1); // 두 Thread의 실행 시간을 맞추기 위해 1/1000 초간 시간을 지연시킨다.

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}


/**

 * 

 * @author SeokRae

 * @description 입/출금

 */

class TransferThread extends Thread {

SharedArea sharedArea; // 공유 객체 선언


public TransferThread(SharedArea area) {

this.sharedArea = area;

}


@Override

public void run() {

for (int cnt = 0; cnt < 12; cnt++) {

sharedArea.transfer(100); // 계좌 이체 메소드 호출

try {

Thread.sleep(1); // 두 Thread의 실행 시간을 맞추기 위해 1/1000 초간 시간을 지연시킨다.

} catch (InterruptedException e) {

e.printStackTrace();

}

}


}

}


/**

 * 

 * @author SeokRae

 * @description 계좌정보

 */

class Account {

String accountNo; // 계좌번호

String ownerName; // 예금주 이름

int balance; // 잔액


// shift + art + s > o

// 필드 값을 모두 사용하는 생성자


public Account(String accountNo, String ownerName, int balance) {

this.accountNo = accountNo;

this.ownerName = ownerName;

this.balance = balance;

}


void deposit(int amount) { // 입금

balance += amount; // 예금액을 잔액에 추가

}


int withdraw(int amount) { // 출금

if (balance < amount) { // 잔액값보다 출금액이 클 경우

return 0;

}

balance -= amount; // 잔액에서 출금액을 뺀다.

return amount;

}

}


/**

 * 

 * @author SeokRae

 * @description 공유 객체

 * @function 계좌 입/출력, 합계

 */

class SharedArea {

Account account1;

Account account2;


synchronized void transfer(int amount) {

// synchronized(this){

account1.withdraw(amount * 10000);

System.out.print("이몽룡 계좌 : " + amount + "만원 인출 ,");

account2.deposit(amount * 10000);

System.out.println("성춘향 계좌 : " + amount + "만원 입금");

// }

}


synchronized int getTotal() { // 잔액의 합계를 구한다.

return account1.balance + account2.balance;

}


}




출처 - 한국성서대학교 - 매일의 성경


5월 1일 월요일 / 디모데후서 1 ~ 4

질문 : 모든 성경은 어떻게 기록되었는가?(딤후 3)

답변 : 

 디모데후서 3

  16. 모든 성경은 하나님의 감동으로 된 것으로 교훈과 책망과 바르게 함과 의로 교육하기에 유익하니


5월 2일 화요일 / 디도서 1, 빌레몬서 1

질문 : 바울은 빌레몬에게 노예였던 누구를 돌려보내며 용서해 주기를 권하고 있는가?

답변 : 

 빌레몬서 1

  10. 갇힌 중에서 낳은 아들 오네시모를 위하여 네게 간구하노라


5월 3일 수요일 / 히브리서 1 ~ 3

질문 : 예수 그리스도는 신실한 대제사장이 되어 백성의 무엇을 속량하셨는가?

답변 :

 히브리서 2

  17. 그러므로 그가 범사에 형제들과 같이 되심이 마땅하도다 이는 하나님의 일에 자비하고 신실한 대제사장이 되어 백성의를 속량하려 하심이라


5월 4일 목요일 / 히브리서 4 ~ 6

질문 : 예수님이 영원한 대제사장이 되시는데 누구의 반차를 쫓아 되었다고 설명하는가?

답변 :

 히브리서 5

  6. 또한 이와 같이 다른 데서 말씀하시되 네가 영원히 멜기세덱의 반차를 따르는 제사장이라 하셨으니


5월 5일 금요일 / 히브리서 7 ~ 9

질문 : 살렘 왕이요 지극히 높으신 하나님의 제사장이요, 아브라함을 만나 복을 빈 사람은 누구인가?

답변 :

 히브리서 7

  1. 이 멜기세덱은 살렘 왕이요 지극히 높으신 하나님의 제사장이라 여러 왕을 쳐서 죽이고 돌아오는 아브라함을 만나 복을 빈 자라


5월 6일 토요일 / 히브리서 10 ~ 13

질문 : 가인보다 더 나은 제사를 하나님께 드려 의로운 자라는 증거를 받은 사람은 누구인가?

답변 :

 히브리서 11

  4. 믿음으로 아벨은 가인보다 더 나은 제사를 하나님께 드림으로 의로운 자라 하시는 증거를 얻었으니 하나님이 그 예물에 대하여 증언하심이라 그가 죽었으나 그 믿음으로써 지금도 말하느니라


5월 7일 일요일 / 야고보서 1 ~ 5

질문 : 위로부터 난 지혜는 어떤 것들이 있는지 쓰시오.

답변 :

 야고보서 3

  17. 오직 위로부터 난 지혜는 첫째 성결하고 다음에 화평하고 관용하고 양순하며 긍휼선한 열매가 가득하고 편견과 거짓이 없나니



지난주 차 > 2016 - 동계방학 묵상지 8주차

다음주 차 > 2016 - 동계방학 묵상지 10주차



네트워크 중간고사 정리.docx


출처 - 한국성서대학교 - 매일의 성경


4월 24일 월요일 / 에베소서 4 ~ 6

질문 :  에베소서 6장에서 말하는 전신갑주 6가지에 대하여 기록하라

답변 :

 에베소서 6

  13. 그러므로 하나님의 전신 갑주를 취하라 이는 악한 날에 너희가 능히 대적하고 모든 일을 행한 후에 서기 위함이라

  14. 그런즉 서서 진리로 너희 허리 띠를 띠고 의의 호심경을 붙이고

  15. 평안의 복음이 준비한 것으로 신을 신고

  16. 모든 것 위에 믿음의 방패를 가지고 이로써 능히 악한 자의 모든 불화살을 소멸하고

  17. 구원의 투구성령의 검 곧 하나님의 말씀을 가지라


4월 25일 화요일 / 빌립보서 1 ~ 4

질문 : 바울은 빌립보 교회에 두 동역자를 추천하는데 누구와 누구인가?(2장)

답변 :

 빌립보서 2

  19. 내가 디모데를 속히 너희에게 보내기를 주 안에서 바람은 너희의 사정을 앎으로 안위를 받으려 함이니

  25. 그러나 에바브로디도를 너희에게 보내는 것이  필요한 줄로 생각하노니 그는 나의 형제요 함께 수고하고 함께 군사 된 자요 너희 사자로 내가 쓸 것을 돕는 자라


4월 26일 수요일 / 골로새서 1 ~ 4

질문 : 골 1 : 16 ~ 18절에서 예수그리스도가 어떤 분인지 찾아 기록하라

답변 :

 골로새서 1

  18. 그는 몸인 교회의 머리시라 그가 근본이시요 죽은 자들 가운데서 먼저 나신 이시니 이는 친히 만물의 으뜸이 되려 하심이요


4월 27일 목요일 / 데살로니가전서 1 ~ 5

질문 : 살전 4 : 16 ~ 17절을 읽고 예수께서 강림하실 때의 모습이 어떠한지 기록해보라

답변 : 

 데살로니가전서 4

  16. 주께서 호령과 천사장의 소리와 하나님의 나팔 소리로 친히 하늘로부터 강림하시리니 그리스도 안에서 죽은 자들이 먼저 일어나고

  17. 그 후에 우리 살아 남은 자들도 그들과 함께 구름 속으로 끌어 올려 공중에서 주를 영접하게 하시리니 그리하여 우리가 항상 주와 함께 있으리라 


4월 28일 금요일 / 데살로니가후서 1 ~ 3

질문 : 누구든지 (   )하기 싫은 사람은 먹지도 말게 하라

답변 : 

 데살로니가후서 3

  10. 우리가 너희와 함께 있을 때에도 너희에게 명하기를 누구든지하기 싫어하거든 먹지도 말게 하라 하였더니


4월 29일 토요일 / 디모데전서 1 ~ 3

질문 : 이 집은 살아계신 하나님의 교회요 (    )의 기둥과 터니라

답변 :

 디모데전서 3

  15. 만일 내가 지체하면 너로 하여금 하나님의 집에서 어떻게 행하여야 할지를 알게 하려 함이니 이 집은 살아 계신 하나님의 교회요 진리의 기둥과 터니라


4월 30일 일요일 / 디모데전서 4 ~ 6

질문 : 범사에 유익하고 금생과 내 생에 약속이 있는 것은 무엇인가? (4장)

답변 :

 디모데전서 4

  8. 육체의 연단은 약간의 유익이 있으나 경건은 범사에 유익하니 금생과 내생에 약속이 있느니라


지난주 차 > 2016 - 동계방학 묵상지 7주차

다음주 차 > 2016 - 동계방학 묵상지 9주차



출처 - 한국성서대학교 - 매일의 성경


4월 17일 월요일 / 고린도전서 13 ~ 16

질문 : 믿음, 소망, 사랑 중에 제일은 무엇인가?

답변 :

 고린도전서 13

  13. 그런즉 믿음, 소망, 사랑, 이 세 가지는 항상 있을 것인데 그 중의 제일은 사랑이라


4월 18일 화요일 / 고린도후서 1 ~ 4

질문 : 예수와 함께 있으면 우리의 겉사람은 낡아지지만 날로 새로워지는 것은 무엇인가?

답변 :

 고린도후서 4

  16. 그러므로 우리가 낙심하지 아니하노니 우리의 겉사람은 낡아지나 우리의 속사람은 날로 새로워지도다


4월 19일 수요일 / 고린도후서 5 ~ 8

질문 : 하나님께서 우리에게 주신 직분은 어떻게 하는 직분인가?

답변 :

 고린도후서 5

  18. 모든 것이 하나님께로서 났으며 그가 그리스도로 말미암아 우리를 자기와 화목하게 하시고 또 우리에게 화목하게 하는 직분을 주셨으니


4월 20일 목요일 / 고린도후서 9 ~ 13

질문 : 사도바울이 부득불 자랑한 것은 무엇인가?(11장)

답변 :

 고린도후서 11

  30. 내가 부득불 자랑할진대 내가 약한 것을 자랑하리라


4월 21일 금요일 / 갈라디아서 1 ~ 3

질문 : 율법으로 의롭게 되지 못하는 것이 분명하니 의인은 무엇으로 산다고 말씀하는가?(3장)

답변 :

 갈라디아서 3

  11. 또 하나님 앞에서 아무도 율법으로 말미암아 의롭게 되지 못할 것이 분명하니 이는 의인은 믿음으로 살리라 하였음이라


4월 22일 토요일 / 갈라디아서 4 ~ 6

질문 : 성령의 열매 아홉 가지는 무엇인가?

답변 :

 갈라디아서 5

  22. 오직 성령의 열매는 사랑희락화평오래 참음자비양선충성

  23. 온유절제니 이같은 것을 금지할 법이 없느니라


4월 23일 일요일 / 에베소서 1 ~ 3

질문 : 하나님께서 예수의 발아래 만물이 복종하게 하셨고 예수를 교회의 무엇으로 삼으셨는가?

답변 :

 에베소서 1

  22. 또 만물을 그의 발 아래에 복종하게 하시고 그를 만물 위에 교회의 머리로 삼으셨느니라


지난주 차 > 2016 - 동계방학 묵상지 6주차

다음주 차 > 2016 - 동계방학 묵상지 8주차



출처 - 한국성서대학교 - 매일의 성경


4월 10일 월요일 / 로마서 1 ~ 4

질문 : 하나님 앞에서 율법의 행위로 의롭다 할 자가 없다. 율법으로는 무엇을 깨닫게 되는가?

답변 : 

 로마서 3

  20. 그러므로 율법의 행위로 그의 앞에 의롭다 하심을 얻을 육체가 없나니 율법으로는 를 깨달음이니라


4월 11일 화요일 / 로마서 5 ~ 8

질문 : 성도가 모든 일에 넉넉히 이기는 것은 누구로 말미암음 인가?

답변 :

 로마서 8

  37. 그러나 이 모든 일에 우리를 사랑하시는 이로 말미암아 우리가 넉넉히 이기느니라

 > 우리를 사랑하시는 이 = 예수 그리스도 


4월 12일 수요일 / 로마서 9 ~ 12

질문 : 너희 몸을 거룩한 산 제물로 드리라고 했는데 이것이 성도들이 드릴 무엇이라고 했는가?

답변 :

 로마서 12

  1. 그러므로 형제들아 내가 하나님의 모든 자비하심으로 너희를 권하노니 너희 몸을 하나님이 기뻐하시는 거룩한 산 제물로 드리라 이는 너희가 드릴 영적 예배니라


4월 13일 목요일 / 로마서 13 ~ 16

질문 : 바울이 교회의 일꾼들을 소개하면서 자기들의 목숨을 내놓을 정도로 바울에게 헌신했다고 칭찬한 사람들은 누구인가?

답변 : 

 로마서 16

  3. 너희는 그리스도 예수 안에서 나의 동역자들인 브리스가와 아굴라에게 문안하라

  4. 그들은 내 목숨을 위하여 자기들의 목까지도 내놓았나니 나뿐 아니라 이방인의 모든 교회도 그들에게 감사하느니라


4월 14일 금요일 / 고린도전서 1 ~ 4

질문 : 성도는 하나님의 비밀을 맡은 자인데 맡은 자들에게 구할 것은 무엇이라고 했는가?

답변 :

 고린도전서 4

  1. 사람이 마땅히 우리를 그리스도의 일꾼이요 하나님의 비밀을 맡은 자로 여길지어다.

  2. 그리고 맡은 자들에게 구할 것은 충성이니라


4월 15일 토요일 / 고린도전서 5 ~ 8

질문 : 너희의 (     )이 믿음이 약한 자들에게 걸려 넘어지게 하는 것이 되지 않도록 조심하라고 했는가?(고전8장)

답변 : 

 고린도전서 8

  9. 그런즉 너희의 자유가 믿음이 약한 자들에게 걸려 넘어지게 하는 것이 되지 않도록 조심하라


4월 16일 일요일 / 고린도전서 9 ~ 12

질문 : 성령께서 주시는 은사는 여러 가지인데 기록된 것 중 5가지 이상을 기록해 보라.(고전 12장)

답변 : 

 고린도전서 12

  8. 어떤 사람에게는 성령으로 말미암아 지혜의 말씀을, 어떤 사람에게는 같은 성령을 따라 지식의 말씀을,

  9. 다른 사람에게는 같은 성령으로 믿음을, 어떤 사람에게는 한 성령으로 병 고치는 은사를,

  10. 어떤 사람에게는 능력 행함을, 어떤 사람에게는 예언함을, 어떤 사람에게는 영들 분별함을, 다른 사람에게는 각종 방언 말함을, 어떤 사람에게는 방언들 통역함을 주시나니


지난주 차 > 2016 - 동계방학 묵상지 5주차

다음주 차 > 2016 - 동계방학 묵상지 7주차



+ Recent posts