[SW 직무역량 부트캠프] 1, 2일차 06-26, 06-27

WJ·2023년 6월 27일
post-thumbnail

2023-06-26 SW 직무역량 부트캠프 1일차 TIL

지난 1일차는 OT 및 전반적인 웹 개발 및 웹 백엔드의 개념, 앞으로의 커리큘럼에 대해 말씀해주셨다.

2023-06-27 SW 직무역량 부트캠프 2일차 TIL

🧭 지난 과제

  • 클래스, 인터페이스의 문법 구조와 쓰임새
  • 다형성이란?

📙 이론

  • 클래스, 인터페이스, 다형성

    • 클래스 : 객체를 추상화하여 객체를 생성할 수 있게해주는 설계
    • 인터페이스 : 다형성을 가진 추상 클래스
    • 다형성 : 하나의 객체가 여러 타입을 가질 수 있는 성질
      ex) 인터페이스, 오버로딩, 오버라이딩 등등
  • 웹 애플리케이션 동작 개념

    • 회원가입을 예로든 전반적인 HTTP 동작 과정의 flow와 CRUD
    • Java Servlet
      - HTTP 요청과 응답시 필요한 과정을 간소화 시켜주는 기술

📙 실습

  • 순수 자바만으로 CRUD 구현

  • 명세

  • 제시해주신 명세에 따라 페어 프로그래밍으로 아래 구조로 구현을 진행

라이브 코딩을 진행하시면서, 인터페이스를 이용한 클래스 구현시의 예시를 드시며 다형성과 객체지향 프로그래밍, 스프링부트에서의 DIP, OCP, DI, IOC에 대해 엄청 강조하셨는데, 강의 전에 궁금해서 미리 찾아보았다.

  • DIP(Dependency Inversion Principle) : 의존 역전 원칙
    - 상위 모듈은 하위 모듈의 구현에 의존해서는 안 된다. 하위의 모듈이 상위 모듈에 정의한 추상 타입에 의존 해야한다.

    Spring 예제로 보는 SOLID DIP 예시 : https://cheese10yun.github.io/spring-solid-dip/

  • OCP(Open Closed Principle) : 개방 폐쇄 원칙
    - 자신의 확장에는 열려있어야 하고, 주변의 변화에는 닫혀있어야 한다.

    Spring 예제로 보는 SOLID OCP : https://cheese10yun.github.io/spring-solid-ocp/

  • DI(Dependency Injection) : 의존성 주입
    - 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식.

  • IoC((Inversion of Control) : 제어의 역전
    - 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미.
    DI, IoC 정리 : https://velog.io/@ohzzi/Spring-DIIoC-IoC-DI-%EA%B7%B8%EA%B2%8C-%EB%AD%94%EB%8D%B0

🤔 후기

지금까지 스프링부트에 대해 나름대로 공부하고 개발도 해보았지만, 내가 해온 코딩은 단순 코더에 가까웠구나 하는 생각이 들었고, 이론적인 부분에서 부족함을 느꼈다.
10일간의 짧은 과정이지만, 기술 면접에서도 잘할 수 있도록 이론적인 지식을 완성시키고자 한다.

profile
주니어 개발자

0개의 댓글