Java(9)
-
Spring MVC
어플리케이션을 세 가지 영역, 즉 모델(Model), 뷰(View), 컨트롤러(Controller)로 구분하여 작업을 분리하는 웹 어플리케이션 개발 방법론'로직과 화면을 분리'하는 스타일의 개발 방식인 모델 2 방식으로 처리서로 간의 결합도를 최소화하고 유지보수성을 높이며 개발의 효율성을 향상주요 컴포넌트DispatcherServlet클라이언트의 모든 Request를 우선적으로 받아 처리하는 서블릿HandlerMapping에게 클라이언트의 요청을 처리할 Controller에 대한 검색을 요청HandlerMapping으로부터 클라이언트 요청과 매핑되는 핸들러 객체를 다시 리턴Request에 대해 실제 클라이언트의 요청을 어느 컨트롤러로 매핑시킬 것인지 배치하는 역할HandlerAdapterDispatche..
2025.06.12 -
Spring Bean
Spring BeanSpring IoC(Inversion of Control) 컨테이너에 의해 관리되는 자바 객체재사용 가능한 소프트웨어 컴포넌트객체를 직접 new 키워드로 생성하지 않고, Spring Container가 대신 Life Cycle 관리즉, 스프링 간 객체가 의존관계를 관리@Bean 어노테이션을 사용한 빈 등록@Configuration - 설정 클래스Spring 설정 정보를 담는 클래스임을 표시하는 어노테이션컨테이너 초기화 시점에 해당 클래스 내용이 해석내부에 @Bean 메서드들을 포함할 수 있음Bean에 추가 설정을 주지 않는 이상, 무조건 싱글톤 보장XML 설정 파일을 Java 코드로 대체@Bean - Bean 등록메서드가 컨테이너에 등록한 Bean을 생성함을 표시하는 어노테이션예시 코..
2025.06.09 -
[Java] 람다식
람다식데이터 처리부에 제공되는 함수 역할을 하는 매개변수를 가진 중괄호 블록자바에선 람다식을 익명 구현 객체로 변환(x, y) -> { int result = x + y; return result;}함수형 인터페이스인터페이스가 단 하나의 추상 메소드를 가지는 것@FunctionalInterface 어노테이션으로 함수형 인터페이스임을 보장할 수 있음실행문이 하나일 경우에만 중괄호를 생략할 수 있음, 실행문 대신 return문이 하나만 있어도 가능메소드 참조메소드 참조로 매개변수의 정보 및 리턴 타입을 알아내 람다식에서 불필요한 매개변수 제거메소드 참조로 단순화 기능// 정적 메소드 -> 클래스 :: 메소드// 인스턴스 메소드 -> 참조변수 :: 메소드(left, right) -> Math.max..
2025.05.07 -
[Java] 컬렉션 자료구조
컬렉션 프레임워크컬렉션 프레임워크 → Collection 인터페이스, Map 인터페이스 ListSetHashSet : 동등 객체를 저장하지 않음, hashCode() 리턴 값이 같아도 동일한 객체로 판단해 저장하지 않음TreeSet : 이진 트리를 기반으로 한 Set 컬렉션Map :키는 중복 저장할 수 없지만, 값은 중복 저장할 수 있음.기존의 저장된 키와 동일된 키로 값을 저장하면 새로운 값으로 대치HashMap : hashCode() 리턴 값이 같으면 동일 키로 보고 중복 저장을 허용하지 않음HashTable동기화된 메소드로 구성돼, 멀티 스레드가 동시에 Hashtable의 메소드들을 실행 불가.멀티 스레드 환경에서도 안전하게 객체를 추가, 삭제할 수 있다.자식 클래스로 키와 값을 String 타입으..
2025.04.30 -
[Java] Multi Thread
Multi Thread프로세스 : 운영체제는 실행 중인 프로그램을 관리스레드 : 코드의 실행 흐름 멀티 스레드 : 두 개의 코드 실행 흐름. 두 가지 이상의 작업을 처리, 프로그램 내부의 멀티 태스킹멀티 프로세스 : 프로그램 단위의 멀티 태스킹 메인 스레드main() 메소드의 첫 코드부터 순차적으로 실행추가 작업 스레드를 만들어서 실행시킬 수 있으나, 작업 스레드가 계속 실행 중이라면 프로세스는 종료되지 않음Thread thread = new Thread(Runnable target);class Task implements Runnable { @Override public void run() { // 스레드가 실행할 코드 }}Thread 클래스를 상속한 다음 run() 메소드를 재정..
2025.04.29 -
[Java] 제네릭
제네릭결정되지 않은 타입을 파라미터로 처리제네릭 타입 선언부에 다이아몬드 연산자인 '' 부호가 붙고, 그 사이에 타입 파라미터들이 위치보통 타입 파라미터를 기호로 대체시킴, 클래스나 메소드를 설계할 때 사용public class Box { public T content; }제네릭 메소드타입 파라미터를 가지고 있는 메소드, 타입 파라미터가 메소드 선언부에 정의리턴 타입 앞에 '' 기호 추가하고 타입 파라미터 정의 후 리턴 타입과 매개변수 타입에서 사용제한된 타입 파라미터, 와일드카드 타입 파라미터참고자료ITYL 6기 수업자료https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%A0%9C%EB%84%A4%EB%A6%ADGenerics-%EA%B0%9C%EB%85%..
2025.04.29