02장. 기초 지식 배우기

박근수·2024년 3월 2일
0

스프링 북스터디

목록 보기
2/8
post-custom-banner

2-1 인터페이스란

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

인터페이스 선언

public interfase Greet{
	//인사하기
	void greetiing();
}

인터페이스를 선언할 때는 interface 키워드를 사용

암묵적 접근 제어자

public interfase Greet{
	//인사하기
	public abstract void greetiing();
}

인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어진다. 그 떄문에 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불림.

  • 인터페이스 선언과 암묵적 접근 제어자는 같은 의미를 가짐
  • 인터페이스에 변수를 선언한 경우는 암묵적으로 public static final 한정자가 붙어서 상수화됨.

인터페이스 구현

implements 키워드를 사용, 또한 인터페이스로 정의되는 추상 메서드를 모두 구현할 필요가 있어 구현하지 않는 경우에는 컴파일 에러가 발생, 그리고 public abstract 한정자가 붙기 때문에 구현할 때는 public 을 선언할 필요 있음.

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

@Override 어노테이션은 슈퍼 클래스나 인터페이스의 메서드를 상속 혹은 구현하는 클래스에서 재정의하는 것을 의미 (만약 재정의되어 있지 않으면 에러 발생 여부를 알려줌)

2-2 리스트란

자바에서 여러개의 데이터를 취급하는 기능으로 배열이 존재하지만 길이가 정해져 있기 때문에 요소를 추가하거나 삭제하기가 어려운 단점이 있음. 그런점을 보완하기 위해 컬렉션(Collection)이라는 클래스를 제공

컬렉션의 종류 (컬렉션 프레임워크)

종류(인터페이스)개요
리스트(List)순서대로 데이터를 저장, 데이터의 중복을 허용
세트(Set)순서를 유지하지 않는 집합, 중복을 허용하지 않음
맵(Map)키와 값의 쌍으로 이루어진 데이터 집합, 순서는 유지되지 않고 키의 중복을 허용하지 않으며 갑의 중복을 허용

리스트의 개요

List는 컬렉션 프레임워크에서 제공하는 인터페이스이며 여러데이터를 순서대로 정렬하여 저장할 때 사용

List 인터페이스 구현

구현개요
ArrayListList 인터페이스의 구현 클래스에서 가장 많이 사용되며 요소를 배열로 유지하기 떄문에 요소의 검색을 고속으로 처리할 수 있지만, 요소의 수가 많아지면 추가/삭제를 처리하는데 시간이 걸림
LinkedList          요소끼리 전후 양방향의 링크로 참조하는 리스트 구조를 이용해 관리하기 떄문에 요소의 추가나 삭제가 ArrayList보다 빠름. 그러나 특정 요소 검색과 같은 인덱스 값에 의한 무작위 액세스에는 적합하지 않음.

리스트 프로그램

여러 개의 String 타입 요소를 취급하는 List의 동작 방식 확인 가능. List에 넣을 수 있는 형태를 제한하는 '제네릭(Generic)' 이며, <String> 부분을 제네릭이라 함

2-3 웹 애플리케이션 만들기의 필수 지식

클라이언트와 서버

클라이언트는 서비스를 요청하는 쪽이고 서버는 서비스를 제공하는 쪽이며, 서버가 서비스를 제공해 그 서비스를 클라이언트가 사용하는 관계

브라우저

브라우저란 인터넷을 사용할 때 이용하는 소프트웨어

  • 구글 크롬 (Google Chrome)
  • 파이어 폭스 (Firefox)
  • 마이크로 소프트 엣지 (Microsoft Edge)
  • 인터넷 익스플로러 (Internet Explorer)
  • 사파리 (Safari)

애플리케이션 및 웹 애플리케이션

애플리케이션은 응용 프로그램 소프트웨어의 약어이며, 프로그래밍 언어로 작성한 소프트웨어

웹 애플리케이션은 인터넷을 통해 사용되는 응용 프로그램이며, 검색 엔진, e-커머스, e-러닝 등 많은 응용프로그램이 웹 응용 프로그램으로 제공

웹 서버

웹 서버는 웹 애플리케이션을 배포하는 서버이며, 항상 실행되며 클라이언트로부터 요청(액세스)를 기다림

HTTP 통신(프로토콜)

클라이언트와 웹 서버는 HTTP 요청(request)과 HTTP 응답(response)으로 상호작용하며, 이를 HTTP 통신이라고 함

HTTP 통신의 흐름

  1. 클라이언트가 브라우저에 URL을 입력
  2. 클라이언트에서 웹 서버로 HTTP 요청이 전송
  3. 웹 서버는 HTTP 요청을 받아 HTTP 요청에 해당하는 HTTP 응답을 클라이언트에게 반환
  4. 브라우저는 받은 응답을 표시하고 클라이언트가 이를 확인

GET 메서드와 POST 메서드

GET 메서드

브라우저에서 웹 서버로 값을 전달할 때 URL 뒤에 값을 더하여 보내는 방식.
URL 뒤에 오는 정보를 '쿼리 스트링(query string)' 또는 '쿼리 문자열' 이라함

쿼리 스트링 특징

  • URL 끝에 '?' 가 붙어 스트링의 시작을 나타냄 (ex : domain.com/?)
  • 형식은 '이름 = 값' (ex : domain.com/?name=value)
  • 여러값을 전달하려면 '&' 로 연결 (ex : domain.com/?name=value&tel=010)

POST 메서드

브라우저로부터 웹 서버에 값을 보낼 때 '요청 본문(request body)'이라고 하는 URL에는 보이지 않는 장소에 값을 넣어서 보내는 방법
e-커머스 사이트 등에서 개인 정보를 등록할 떄 입력한 내용을 URL에 표시하고 싶지 않은 경우에 POST 메서드를 사용

GET 메서드와 POST 메서드의 차이

  • GET은 지정한 URL에 대한 내용을 받기 위한 메서드, POST는 지정한 URL에 입력 정보를 보내기 위한 메서드
  • GET 메서드는 URL에 연결해 데이터를 송신하기 떄문에 '즐겨찾기'에 등록하는 URL 자체에 쿼리 스트링으로 검색 데이터를 포함할 수 있지만, POST 메서드는 검색 데이터를 요청 본문에 저장하기 때문에 등록할 수 없다.
  • POST 메서드로 요청을 보내려면 HTML의 form 태그 속성에서 method=POST로 지정해야함
profile
개발블로그
post-custom-banner

0개의 댓글