본문 바로가기
728x90
반응형

공부합시당 💙156

기술 면접 준비 - 기타 기출 질문들 Class 와 Object 의 차이점 객체 지향 프로그래밍 관련 개념으로, 클래스는 오브젝트를 만드는 틀이고, 오브젝트는 그 클래스로 만든 실체입니다. 객체가 메모리에 할당되어 실제 사용될 때는 인스턴스라고 부릅니다. 즉, 클래스는 오브젝트를 만드는 틀, 오브젝트는 클래스로 만든 객체, 인스턴스는 오브젝트를 메모리에 올린 것입니다. Override 와 Overload 의 차이점 오버라이딩은 부모로부터 상속 받은 메소드의 로직을 변경하는 것으로 객체 지향 언어의 특징인 다형성 중 하나이다. 오버로딩은 한 클래스 내에 파라미터 수나 타입 등이 다른 여러 개의 같은 이름의 메소드를 정의하는 것을 말한다. 정렬 알고리즘 버블 정렬 - 첫 번째 원소부터 인접한 원소끼리 계속 자리를 바꾸며 정렬하는 방식이다. 선택.. 2023. 2. 27.
기술 면접 준비 - RESTful API REST(Representational State Transfer) REST는 API 동작 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. 인터넷과 같은 복잡한 네트워크 환경에서 통신을 관리하기 위한 지침으로 처음 만들어졌습니다. REST 기반 아키텍처를 사용하면 대규모의 고성능 통신을 안전하게 할 수 있습니다. REST 아키텍처를 따르는 API를 REST API라고 합니다. REST 아키텍처를 구현하는 웹서비스를 RESTful 웹서비스라고 합니다. REST 아키텍처 스타일의 원칙 균일한 인터페이스 무상태 계층화 시스템 캐시 처리 가능성 온디맨드 코드 RESTful API 의 장점 확장성 - REST가 클라이언트-서버 상호 작용을 최적화하기 때문에 효율적으로 크기 조정이 가능하다. 유연성 - RE.. 2023. 2. 27.
기술 면접 준비 - 필터(Filter) vs 인터셉터(Interceptor) 필터(Filter) J 2EE 표준 스펙 기능으로 디스패처 서블릿에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가 작업을 처리할 수 있는 기능을 제공합니다. 필터는 스프링의 가장 앞 단에 존재하는 프론트 컨트롤러로, 필터에서 처리하는 작업들은 '스프링 범위 밖'에서 처리되는 것으로 볼 수 있습니다. 즉, 필터는 스프링 컨테이너가 아닌 톰캣 같은 웹 컨테이너에 의해 관리가 됩니다. 필터(Filter)의 메소드 init 메소드 - 필터 객체를 초기화하고 서비스에 추가하기 위한 메소드. 웹 턴테이너가 1회 호출하여 초기화하면 이후의 요청을 doFilter가 처리한다. doFilter 메소드 - url 패턴에 맞는 HTTP 요청이 디스패처 서블릿으로 전달되기 전에 웹 컨테이너에 의해 실행되.. 2023. 2. 27.
기술 면접 준비 - Dispatcher Servlet (디스패처 서블릿) 스프링 MVC(모델-뷰-컨트롤러)구조에서 Dispatcher Servlet (디스패처 서블릿)은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러입니다. 클라이언트에서 요청이 오면 톰캣과 같은 서블릿 컨테이너가 요청을 받는다. 서블릿 컨테이너가 받는 요청은 프론트 컨트롤러인 디스패처 서블릿이 가장 먼저 받는다. 디스패처 서블릿은 공통 작업 처리 후에 해당 요청을 적합한 컨트롤러에 작업 위임 한다. 디스패처 서블릿의 장점 이전에는 서블릿을 URL에 매핑하기 위해서는 web.xml에 모두 등록을 해주어야 했지만, 디스패처 서블릿이 해당 애플리케이션에 들어오는 모든 요청을 핸들링해주고 공통 작업을 처리해주면서 그럴 필요가 없어습니다. 컨트롤러를 구현하기만 하.. 2023. 2. 27.
기술 면접 준비 - SOLID(객체 지향 설계의 5대 원칙) 객체 지향 설계 방법 요구사항을 객체 단위로 세분화한다. 객체 별 기능을 구현하는데에 필요한 데이터를 추가한다. 데이터를 이용하는 기능을 구현한다. 객체 간 메소드 호출 방법을 결정한다. SOLID (5가지 객체지향 설계 원칙) 단일 책임 원칙 (SRP - Single Responsibility) -> 단일 클래스는 하나의 책임만 가진다. -> 클래스 변경 이유는 하나여야 한다. 개방-폐쇄 원칙 (Open-Closed) -> 확장에는 열려있고 변경은 닫혀있어야 한다. (즉, 기존의 코드를 변경하지 않으면서 기능을 수정하거나 추가할 수 있어야 한다.) 리스코프 치환 원칙 -> 상위 타입의 객체를 하위 타입의 객체로 치환해도 정상 동작 해야 한다. 인터페이스 분리 원칙 -> 인터페이스는 해당 인터페이스를 사.. 2023. 2. 27.
728x90
반응형