Spring - 면접질문 모음

면접 대비를 해보자

Posted by Yan on September 29, 2021

MVC 패턴

SpringMVC란 무엇인가요?

  • 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세 가지 역할로 구분한 패턴.
  • 사용자가 controller를 조작하면
  • controller는 model을 통해서 데이터를 가져오고
  • 그 정보를 바탕으로 시각적인 표현을 담당하는 view를 제어해서 사용자에게 전달하게 된다.

Model

애플리케이션의 정보. 데이터를 나타냄. 정보들의 가공을 책임지는 컴포넌트

View

데이터 및 객체의 입력, 출력을 담당. 사용자 인터페이스 요소

Controller

데이터와 사용자 인터페이스 요소들을 잇는 다리 역할. 사용자가 데이터를 클릭하고, 수정하는 것에 대한 이벤트들을 처리하는 부분

DI 의존성 주입

  • 스프링에서 다른 프레임워크와 차별화되어 제공하는 의존관계 주입 기능
  • 객체를 생성하지 않고 외부에서 생성한 후에 주입하는 방식
  • 모듈간 결합도가 낮아지고, 유연성이 증가한다.
  • unit test에 용이해진다.

IoC 제어의 역전

  • 메소드나 객체의 호출작업을 개발자가 결정하는게 아니라, 외부에서 결정된다.
  • 제어의 흐름을 바꾼다.
  • 의존성이 역정되어 객체간의 결합도가 낮아진다.
  • 유연한 코드를 작성할 수 있다.
  • 가독성이 좋고 코드 중복이 적어진다.
  • 유지보수에 용이해진다.