728x90
반응형

Servlet

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

 

Servlet Container (Web Container)

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

728x90
반응형

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

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

String 

- 불변

- 생성, 조회 가장 빠름

- Thread-safe(Immutable하기 때문)

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

 

 

StringBuilder

- 가변

- 생성, 조회 String 보다 느림

- No Thread-safe

 

 

StringBuffer

- 가변

- 생성, 조회 StringBuilder 보다 느림

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

 

 

 

요약 : 

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

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

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

728x90
반응형

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

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

다형성(polymorphism)

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

 

다형성 예시

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

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

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

 

 

 

오버로딩이란?

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

 

ex)

void println(int x);

void println(long x);

 

 

 

오버라이딩이란?

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

 

ex)

class A extends B {

   @Override

   BClassMethod(){

      ...

   }

}

728x90
반응형

'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
728x90
반응형

추상클래스란?

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(){
      ...
   }
   ...
}
728x90
반응형
728x90
반응형

1. Class 

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

 

2. Object 

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

 

3. Instance

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

 

 

 

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

728x90
반응형

'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