본문 바로가기

전체 글161

Spring & Spring Boot Spring & Spring Boot Spring 개념 자바 애플리케이션을 빌드할 수 있는 오픈 소스 프레임워크 Struts, JSP, Hibernate 등의 다양한 프레임워크에 대한 지원 Spring Triangle IoC 객체를 생성, 생명주기에 제어권이 바뀜 POJO(Plain Old Java Object) - 자바 모델, 기능, 프레임워크를 따르지 않는 java Object를 지칭하며 대표적으로 자바 Bean을 의미 Pojo의 생성, 초기화, 서비스, 소멸에 대한 권한을 가짐 IoC는 객체의 생성을 책임지고 의존성을 관리함 DI라는 의존성 주입을 통해 클래스 간 의존 관계를 빈 설정을 기반으로 컨테이너가 자동 연결 AOP(Aspect Oriented Programming) 주요 기능과 부가 기능을.. 2023. 3. 17.
Filter & Interceptor Filter & Interceptor Filter 개념 J2EE 표준 기능으로 디스패처 서블릿에 요청이 전달되기 전후에 url 패턴에 맞는 모든 요청에 대한 부가작업 디스패터 서블릿은 스프링의 앞단 위치한 프론트 컨트롤러로 필터는 스프링 범위 밖에서 처리되는 것 톰캣과 같은 웹 컨테이너에 의해 관리되고 스프링 빈으로 등록은 된다. 사용 javax.servlet의 Filter 인터페이스를 구현하여 사용 가능 3가지 메서드 포함 init 필터 객체를 초기화하고 서비스에 추가하기 위한 메서드 웹 컨테이너가 1회 실행 doFilter url pattern에 맞는 모든 http 요청이 디스패처 서블릿에 도달하기 전 웹 컨테이너에 의해 실행되는 메서드 파라미터로 FilterChain이 존재하는데 chain.doFi.. 2023. 3. 16.
JVM JVM 개념 JVM(Java Virtual Machine) 자바 소스 코드로부터 컴파일된 바이트 코드를 실행하는 역할 JRE(Java Runtime Environment) JVM을 포함하고 JVM이 바이트 코드를 실행하기 위한 라이브러리 파일 및 기타 파일을 가지고 실행 환경을 구성 JDK(Java Development Kit) JRE를 포함하고 개발을 위해 필요한 도구들을 제공 JVM 구성 Class loader 런타임 시 클래스 파일들을 JVM 내부로 로딩하고 파일을 분석하여 Runtime data area에 배치 자바는 동적으로 클래스를 읽어오기 때문에 런타임 시점에 모든 코드가 JVM에 올라온다. Runtime Data Areas class loader로부터 분석된 클래스 파일들과 실행 도중 필요.. 2023. 3. 15.
Overriding & Overloading Overriding & Overloading Overriding 개념 상위 클래스의 메서드의 이름과 시그니처가 같은 메서드를 하위 클래스에 재정의하는 것 특징 자바의 다형성 속성을 보여준다. 상속의 개념에서 사용된다. 자식 클래스가 부모 클래스보다 더 좁은 접근 제어자를 사용할 수 없다. Exception은 부모 클래스보다 메서드를 많이 선언할 수 없다. static 메서드를 인스턴스 메서드로 바꾸거나 인스턴스 메서드를 static 메서드로 바꿀 수 없다. Overloading 개념 하나의 클래스 안에 이름은 같지만 매개변수 타입이나 개수가 다른 메서드를 여러 개 선언할 수 있는 것 목적 같은 기능을 하는 메서드를 하나의 이름으로 사용 가능 메서드 이름 절약 특징 자바의 다형성 속성을 보여준다. 하나의 .. 2023. 3. 14.