새로운 내용을 공부할 때
새로운 내용의 공부를 시작할 때 용어의 정의를 이해하지 못하거나 정확하게 알지 못한다면 그 용어가 포함된 문장을 이해하지 못합니다.
작은 단어 하나가 내용을 이해하지 못하게 하기 때문에 용어를 정확하게 이해하는 것이 중요합니다.

1 분 소요

기술 도서 학습 정리

학습 주제

  • 학습한 장(Chapter) 또는 소단원의 제목:
    • 예시: “1.4 제어의 역전(IoC)”

학습 목표

  • 이번 학습에서 달성하려는 목표를 작성.
    • 예시:
      • IoC의 개념과 DI의 차이를 명확히 이해한다.
      • 팩토리 패턴과 IoC 컨테이너의 차이를 설명할 수 있다.

핵심 질문

  • 학습 시작 전에 스스로 설정한 질문들:
    • 예시:
      1. IoC는 왜 필요한가?
      2. IoC 컨테이너는 어떻게 동작하나?
      3. 팩토리 패턴과 IoC의 차이점은 무엇인가?

핵심 내용 요약

  • 책에서 배운 핵심 개념과 내용을 간단히 요약.
    • 예시:
      • IoC(Inversion of Control): 객체의 생성과 의존성 관리를 개발자가 아닌 컨테이너가 담당하는 설계 원칙.
      • 스프링 IoC 컨테이너: 애플리케이션 컨텍스트(ApplicationContext)를 통해 객체의 생성, 초기화, 의존성 주입, 생명주기 관리가 이루어진다.
      • 팩토리 패턴 vs IoC: 팩토리는 객체를 생성하지만, IoC 컨테이너는 객체 생성 외에도 의존성 관리와 생명주기 관리까지 제공한다.

코드 예제 및 분석

  • 책의 코드 예제를 작성하고, 직접 실행해본 결과와 분석.

    • 예시:

      java코드 복사public class DaoFactory {
          public UserDao userDao() {
              return new UserDao(new ConnectionMakerImpl());
          }
      }
      
      • 분석: DaoFactory를 사용해 UserDao 객체를 생성하고 의존성을 주입함으로써 객체 간 결합도를 낮추었다.

질문에 대한 답변

  • 학습 후 처음에 설정했던 질문들에 답변.
    • 예시:
      1. IoC는 왜 필요한가? → 객체 생성 및 의존성 관리의 책임을 분리하여 코드의 유연성과 테스트 가능성을 높이기 위해.
      2. IoC 컨테이너는 어떻게 동작하나? → XML이나 자바 설정 파일로 의존성 정보를 정의하고, 런타임에 객체를 생성하고 주입한다.
      3. 팩토리 패턴과 IoC의 차이점은 무엇인가? → 팩토리는 객체 생성만 담당하지만, IoC는 객체의 의존성 관리와 생명주기까지 처리한다.

실습 및 응용

  • 배운 내용을 바탕으로 스스로 작성한 코드나 변형한 코드와 그 결과.

    • 예시:

      java코드 복사public interface ConnectionMaker {
          Connection makeConnection();
      }
      public class MyConnectionMaker implements ConnectionMaker {
          @Override
          public Connection makeConnection() {
              // 커넥션 로직 구현
          }
      }
      
      • 응용: ConnectionMaker를 구현한 MyConnectionMaker를 UserDao에 주입하여 커넥션 방식을 유연하게 변경 가능.

느낀 점 및 개선점

  • 학습 과정에서 느낀 점, 어려웠던 점, 또는 더 깊이 공부하고 싶은 내용.
    • 예시:
      • IoC와 DI의 개념이 헷갈렸는데, 코드 예제와 비교 분석을 통해 이해도가 높아졌다.
      • 애플리케이션 컨텍스트의 동작 방식을 더 깊이 탐구할 필요가 있음.

핵심 키워드

  • 학습한 내용을 요약하는 키워드.
    • 예시: IoC, DI, 의존성 주입, 스프링 컨테이너, 애플리케이션 컨텍스트, 팩토리 패턴, 결합도

복습 계획

  • 학습 내용을 복습하기 위한 계획 작성.
    • 예시:
      • 24시간 내에 학습 내용을 노트에서 다시 읽기.
      • 1주일 후 배운 개념을 프로젝트에 적용하거나 코드 예제를 다시 작성해보기.

댓글남기기