본문 바로가기

전체 글161

First Class Collection First Class Collection 개념 일급 컬렉션 collection을 wrapping하고 해당 collection 이외의 다른 멤버 변수가 없는 상태 사용 목적 비지니스에 종속적인 자료구조 일급 컬렉션 내에 비즈니스 로직을 구현하여 중복 코드를 줄일 수 있다. 컬렉션을 사용하는 클래스가 로직을 여러 번 구현하지 않도록 컬렉션 내에 비즈니스 로직 구현 불변성 보장 final 키워드는 재할당이 불가능하지만 수정이 가능 일급 컬렉션을 사용하고 setter를 구현하지 않으면 수정이 불가능한 불변성 보장 가능 상태와 행위를 한 곳에서 처리 일급 컬렉션으로 상태와 행위를 캡슐화하여 클래스의 책임을 덜고 중복 코드를 줄일 수 있다. 이름 있는 컬렉션 일급 컬렉션을 사용하면 변수명을 지정하는 방식보다 검색이.. 2023. 3. 21.
Collection Collection 개념 Collection 자바에서 자료구조를 기반으로 한 데이터의 모음 또는 집합 JCF(Java Collection Framework) 자바의 컬렉션을 정의하고 이를 구현하는 인터페이스 제공 종류 Collection List와 Set으로 구성 List ArrayList 단방향 포인터 구조로 데이터에 대한 인덱스를 가지고 있어 조회 성능이 뛰어남 동적 배열 제공 Vector ArrayList에서 동기화 처리가 발생하여 속도가 ArrayList에 비해 느리다. 멀티 스레드 환경에서 사용 LinkedList 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 효율적 queue를 구현할 때 사용 Stack 스택 자료구조를 구현 후입선출을 기본으로 한다. Set HashSet 순서가 보.. 2023. 3. 20.
Bean Scope Bean Scope 개념 Bean Scope Bean이 존재할 수 있는 범위 Bean으로 생성된 객체들은 스프링 컨테이너에서 종료될 때까지 스프링이 관리 spring bean들은 singletone scope로 관리 종류 Singletone Spring IoC Container 내부에 하나의 Bean에 대해 하나의 객체만 존재 모든 bean은 scope이 정의되어 있지 않으면 Singletone이다. 스프링 IoC container에서 단 한 번 생성되어 참조된다. Prototype 하나의 Bean 정의에 다수 객체 존재 모든 요청에 새로운 객체를 생성하여 주입 stateful한 bean에는 prototype을 사용하고 stateless bean은 singletone을 사용 Request 하나의 Bean.. 2023. 3. 19.
Controller Controller @controller View 반환 전통적인 Spring MVC로 view를 반환한다. 과정 Client는 URI 형식으로 웹 서비스에 요청 DispatcherServlet이 요청을 위임할 handler를 찾기 위해 HandlerMapping에 요청 HandlerAdapter를 통해 controller에게 위임 Controller는 ViewName을 반환 DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 view를 찾아 Client에게 반환 Data 반환 데이터를 반환하기 위해서 @ResponseBody를 사용 이것을 통해 Controller도 Json 형태의 데이터를 반환 가능 과정 Client는 URI 형식으로 웹 서비스에 요청 Dispat.. 2023. 3. 18.