2024/08/13 3

MVC 모델이란 무엇인지 설명해주실 수 있을까요?

MVC(Model-View-Controller) 모델은 애플리케이션의 구조를 세 가지 주요 컴포넌트로 분리하여 관리하는 소프트웨어 디자인 패턴입니다. 이는 애플리케이션의 유지보수성과 확장성을 높이는 데 중요한 역할을 합니다. Model: 모델은 애플리케이션의 데이터와 비즈니스 로직을 관리합니다. 데이터베이스와의 상호작용, 비즈니스 규칙 처리 등이 모델의 책임입니다. 모델은 데이터를 변환하거나 가공하여 뷰에 제공할 준비를 합니다. View: 뷰는 사용자 인터페이스를 담당합니다. 사용자가 볼 수 있는 화면을 구성하며, 모델에서 제공받은 데이터를 기반으로 시각적인 출력을 생성합니다. 뷰는 사용자에게 데이터를 표시하고, 사용자의 입력을 컨트롤러로 전달합니다. Controller: 컨트롤러는 모델과 뷰를 연결하는..

기술면접 준비 2024.08.13

DI와 IoC에 대해 아는 만큼 설명해주실 수 있을까요?

DI(Dependency Injection)와 IoC(Inversion of Control)는 객체 지향 프로그래밍에서 소프트웨어 컴포넌트 간의 결합도를 낮추기 위해 사용하는 개념들입니다.  IoC(Inversion of Control, 제어의 역전): 전통적인 절차 지향 프로그래밍에서는 프로그램의 흐름을 개발자가 직접 제어합니다. 그러나 IoC는 이 흐름의 제어권을 프레임워크나 컨테이너가 대신 가지도록 하여, 개발자가 신경 써야 할 부분을 줄여줍니다. 대표적으로 Spring 프레임워크에서 IoC 컨테이너가 객체의 생성과 생명 주기를 관리합니다.  DI(Dependency Injection, 의존성 주입): DI는 IoC의 구현 방법 중 하나로, 객체가 필요로 하는 의존성을 외부에서 주입하는 방식입니다...

기술면접 준비 2024.08.13

Java Map의 내부 구현은 어떻게 이루어져 있을지 추측해보실 수 있을까요?

Java 에는 Map 이라는 인터페이스 도구가 있다.대표적으로 Map, HashMap, TreeMap, LinkedHashMap이 있다. 각 Map 인터페이스들의 구조에 대해 정리해보자.  Map기본적으로 Map은 key-value 구조로 구성되어 데이터를 저장할 수 있다.key를 가지고 저장된 value를 찾을 수 있다. key를 이용하여 데이터 검색에 최적화되어있으나, 동일한 key 에 다른 데이터 value가 저장되어 있을 경우 기존에 저장된 데이터는 덮어씌워져 사라진다.따라서, 중복된 key는 존재할 수 없다.  HashMapHashMap은 Hash Table 을 이용하여 만들어졌다.Hash Table은 key 와 value를 저장하며, key를 이용하여 빠르게 데이터를 찾기 위한 자료구조를 가지..

기술면접 준비 2024.08.13