#참고도서: '스프링 프레임워크 첫걸음' (키노시타 마사아키, 위키북스)

 

02장: 기초 지식 배우기

 

1. 인터페이스

- 자바에서 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것

1) 인터페이스 선언

- interface 키워드 사용

- public abstract 암묵적 접근 제어자

public interface Greet {
    /**
     * 인사하기
     */
    public abstract void greeting();
}

2) 인터페이스 구현

- implements 키워드 사용

- 인터페이스로 정의되는 추상 메서드를 모두 구현할 필요가 있어 구현하지 않는 경우에는 컴파일 에러 발생

- 구현 시 public 선언 필요

- @Override:슈퍼 클래스나 인터페이스의 메서드를 상속 혹은 구현하는 클래스에서 재정의하는 것

public class MorningGreet implements Greet{
    @Override
    public void greeting(){
        System.out.println("좋은 아침입니다");
    }
}

 

2. 리스트

1) 컬렉션(Collection): 복수의 데이터를 더 쉽게 사용할 수 있는 클래스

- 리스트(List): 순서대로 데이터를 저장, 데이터의 중복을 허용

- 세트(Set): 순서를 유지하지 않는 집합, 중복을 허용하지 않음

- 맵(Map): 키와 값의 쌍으로 이루어진 데이터 집합, 순서는 유지되지 않고 키의 중복을 허용하지 않으며 값의 중복을 허용

2) 리스트 개요

- 컬렉션 프레임워크에서 제공하는 인터페이스

- ArrayList: 요소를 배열로 유지하기 때문에 요소의 검색을 고속으로 처리할 수 있지만, 요소의 수가 많아지면 추가/삭제를 처리하는 데 시간이 걸림

- LinkedList: 요소끼리 전후 양방향의 링크를 참조하는 리스트 구조를 이용해 관리하기 때문에 요소의 추가나 삭제 ArrayList보다 빠름, 그러나 특정 요소 검색과 같은 인덱스 값에 의한 무작위 액세스에는 적합하지 않음

 

3. 클라이언트와 서버

- 클라이언트: 서비스를 요청하는 쪽

- 서버: 서비스를 제공하는 쪽

 

4. 브라우저

- 인터넷을 사용할 때 이용하는 소프트웨어

- 크롬, 파이어폭스, 사파리 등

 

5. 애플리케이션

- 응용 프로그램 소프트웨어의 약어

- 프로그래밍 언어로 작성한 소프트웨어

 

6. 웹 서버

- 웹 애플리케이션을 배포하는 서버

- 웹 서버는 항상 실행되며 클라이언트로부터 액세스(요청)을 계속 기다림

 

7. HTTP 통신(프로토콜)

- 클라이언트와 웹 서버는 HTTP 요청(request)와 HTTP 응답(response)으로 상호작용

- HTTP 통신의 흐름: 클라이언트가 브라우저에 URL 입력 → 클라이언트에서 웹 서버로 HTTP 요청이 전송됨 → 웹 서버는 HTTP 요청에 해당하는 HTTP 응답을 클라이언트에게 반환 → 브라우저는 받은 응답을 표시하고 클라이언트가 이를 확인

 

8. GET 메서드와 POST 메서드

- HTTP 요청의 한 유형

1) GET 메서드

- 브라우저에서 웹 서버로 값을 전달할 때 URL 뒤에 값을 더하여 보내는 방식

- URL 뒤에 오는 정보를 '쿼리 스트링' 또는 '쿼리 문자열'이라고 함

2) 쿼리 스트링의 특징

- URL 끝에 '?'가 붙어 쿼리 스트링의 시작을 나타냄 (예: domain.com/?)

- 형식은 '이름=값' (예: domain.com/?name=value)

- 여러 값을 전달하려면 '&'로 연결 (예: domain.com/?name=value&tel=010)

3) POST 메서드

- 브라우저로부터 웹 서버에 값을 보낼 때 '요청 본문(request body)'이라고 하는 URL에는 보이지 않는 장소에 값을 넣어서 보내는 방법

- 개인정보 등의 내용을 URL에 표시하고 싶지 않을 때 사용

- 많은 양의 값을 보내는 데 적합

 

+ Recent posts