본문 바로가기

전체 글

(19)
Servlet Container란 Web Server 웹 서버는 클라이언트로부터 HTTP 요청을 받아들이고, 웹 페이지를 HTTP 프로토콜을 통해 반환하는 역할을 합니다. Servlet Container 웹 서버는 클라이언트는 정적 웹 페이지만 요청을 할 수 있습니다. 서블릿 컨테이너는 Java를 사용하여 서버 측에서 동적으로 웹 페이지를 생성합니다. 사용자 요청에 의해 웹 페이지를 생성하는 것은 서블릿이 담당합니다. 서블릿 컨테이너는 이 서블릿들을 웹 서버와 상호작용을 할 수 있도록 해주는 기능을 담당하고 있습니다. Servlet 서블릿은 init, service, destory의 라이프 사이클을 가지고 있습니다. init() 서블릿이 처음 요청될 때 초기화를 하는 메서드입니다. 초기화된 서블릿은 싱글톤으로 관리됩니다. service(..
Template Method Pattern(템플릿 메서드 패턴) Template Method Pattern 이란? 상속을 통해 기능을 확장하는 디자인 패턴으로 변하지 않는 기능을 슈퍼클래스(대부분 추상클래스)에 만들어두고 확장할 기능을 서브클래스에 구현하는 디자인 패턴이다. 슈퍼클래스는 추상 메소드 또는 오버라이드 가능한 메소드를 통해 기본 알고리즘을 담고 있는 템플릿 메서드를 만든다. 서브 클래스는 템플릿 메서드를 통해 기능을 확장할 수 있다. Template Method Code 슈퍼클래스 public abstract class Beverage { public final void prepareRecipe() { boilWater(); brew(); pourInCup(); addCondiments(); //hook method } private void boilWa..
L.리스코프 치환 원칙(Liskov substitution principle) effective-java 를 읽다 `리스코프 치환 원칙`에 대한 내용이 나왔는데 내용이 잘 생각나지 않아 정리하려 한다. 리스코프 치환 원칙이란? 컴퓨터 프로그램에서 자료형 S가 자료형 T의 하위형이라면 필요한 프로그램의 속성(정확성, 수행하는 업무 등)의 변경 없이 자료형 T의 객체를 자료형 S의 객체로 교체(치환)할 수 있어야 한다는 원칙이다. 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 상위 타입을 전달받는 메서드 구현 public class BirdUtil { private BirdUtil() { } public static void fly(Bird bird) { bird.fly(); } }상속 관계의 클래스(Bird