반응형

Servlet

클라이언트의 요청을 처리하고 그 결과를 반환하는 자바 웹 프로그래밍 기술로 Servlet 클래스로 구현되어있다.

 

Servlet Container (Web Container)

Servlet, JSP 를 실행할 수 있는 소프트웨어 (Tomcat 등)을 의미함. 요청이 들어올 때마다 새로운 자바 스레드를 만들고 HttpServletRequest 와 HttpServletResponse 객체를 생성해 관리하며 알맞은 JSP 파일을 서블릿 파일로 변환한 뒤 컴파일하여 이것을 실행한 결과를 반환한다.

반응형

'Java > Basic' 카테고리의 다른 글

String / StringBuffer / StringBuilder  (0) 2020.10.02
다형성 / 오버로딩 / 오버라이딩  (0) 2020.10.02
추상클래스 / 인터페이스  (0) 2020.09.30
클래스 / 오브젝트 / 인스턴스  (0) 2020.09.26
반응형

String 

- 불변

- 생성, 조회 가장 빠름

- Thread-safe(Immutable하기 때문)

- 데이터 변경 시 메모리를 새로 할당하여 참조

 

 

StringBuilder

- 가변

- 생성, 조회 String 보다 느림

- No Thread-safe

 

 

StringBuffer

- 가변

- 생성, 조회 StringBuilder 보다 느림

- Thread-safe(동기화 키워드 지원)

 

 

 

요약 : 

문자열 변경/연산이 잦을경우 -> StringBuffer, StringBuilder

단순 참조(조회)가 잦을경우 -> String

Multi-Thread 환경에서 사용할 경우 -> String, StringBuffer

반응형

'Java > Basic' 카테고리의 다른 글

Servlet / Servlet Container(Web Container)  (0) 2021.03.06
다형성 / 오버로딩 / 오버라이딩  (0) 2020.10.02
추상클래스 / 인터페이스  (0) 2020.09.30
클래스 / 오브젝트 / 인스턴스  (0) 2020.09.26
반응형

다형성(polymorphism)

객체지향개념에서의 다형성이란 '여러 가지 형태를 가질 수 있는 능력' 을 의미. 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현.

 

다형성 예시

- 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 함 ( ex: List list = new ArrayList(); )

- 오버로딩을 통해 하나의 메서드가 인자에 따라 다른 역할을 수행

- 오버라이딩을 통해 하나의 메서드가 상속클래스와 자손클래스에서 각각 다른 역할을 수행

 

 

 

오버로딩이란?

한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것

 

ex)

void println(int x);

void println(long x);

 

 

 

오버라이딩이란?

부모클래스에서 정의한 메서드를 자식클래스에서 재정의하는 것

 

ex)

class A extends B {

   @Override

   BClassMethod(){

      ...

   }

}

반응형

'Java > Basic' 카테고리의 다른 글

Servlet / Servlet Container(Web Container)  (0) 2021.03.06
String / StringBuffer / StringBuilder  (0) 2020.10.02
추상클래스 / 인터페이스  (0) 2020.09.30
클래스 / 오브젝트 / 인스턴스  (0) 2020.09.26
반응형

추상클래스란?

Abstract 로 선언되어 추상 메소드를 0개 이상 가지는 클래스

 

- 단독 사용이 불가능하고, 자식 클래스를 통해 상속하여 사용

- 상속 시 추상 메소드를 오버라이딩을 통해 정의해야함

- 추상 클래스의 기능을 이용하고 확장하는 용도

- 상속 및 확장을 추구

 

문법 예시

AbsctractClass

abstract class AbstractClass {
   ...
   abstract void abstractMethod();
   ...
}

 

SubClass

public class SubClass extends AbstractClass {
   ...
   @Override
   public void abstractMethod(){
      ...
   }
   ...
}

 

 

 

 

인터페이스란?

Interface 로 선언되어 추상 메소드를 0개 이상 가지는 명세

 

- 단독 사용이 불가능하고, 구현체 클래스를 통해 구현하여 사용

- 구현시 추상 메소드를 오버라이딩을 통해 정의해야함

- 인터페이스의 명세(메소드 구현)를 강제하는 용도 

- default method 를 통해 메소드를 미리 선언할 수 있음(JAVA8 이상)

- 다형성을 추구

 

문법 예시

Interface

public interface InterfaceExample {
   void interfaceMethod();
   
   default void defaultMethod(){
      ...
   }
}

 

ImplementClass

public ImplementClass implements InterfaceExample {
   ...
   @Override
   public void interfaceMethod(){
      ...
   }
   ...
}
반응형
반응형

1. Class 

자바에서의 프로그램 구성 단위로 하나 이상의 필드나, 메소드로 구성. 일종의 설계도

 

2. Object 

클래스를 사용하여 구현할 대상

 

3. Instance

클래스에 의해 실제로 구현된(메모리에 할당 된) 실체

 

 

 

: Class 에 의해 구현될 대상을 Object 라 부르고, 실제로 구현된 대상을 Instnace 라 부름

반응형

'Java > Basic' 카테고리의 다른 글

Servlet / Servlet Container(Web Container)  (0) 2021.03.06
String / StringBuffer / StringBuilder  (0) 2020.10.02
다형성 / 오버로딩 / 오버라이딩  (0) 2020.10.02
추상클래스 / 인터페이스  (0) 2020.09.30

+ Recent posts