2-1 자바 기초 지식 복습
2-2 웹 애플리케이션 만들기의 필수 지식 확인
2-3 개발에 사용하는 편리한 라이브러리와 도구
📌 2-1 자바 기초 지식 복습
📃 1) 인터페이스 : Java에서 class에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것을 말한다.
- 인터페이스를 선언할 때는 interface 키워드를 사용.
- 인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어지기에, 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불림.
- 인터페이스에 변수를 선언한 경우 암묵적으로 public static final한정자가 붙어서 상수가 됨.
- 인터페이스를 구현할 때는 implements 키워드를 사용.
📃 2) 리스트 : 컬렉션 프레임워크에서 제공하는 인터페이스로, 여러 데이터를 순서대로 정렬하여 저장할 때 사용한다.
인터페이스(종류) | 개요 |
---|
리스트List | 순서대로 데이터를 저장. 데이터의 중복을 허용. |
세트Set | 순서를 유지하지 않는 집합. 중복을 허용하지 않음. |
맵Map | 키와 값의 쌍으로 이루어진 데이터 집합. 순서는 유지되지 않고 키의 중복을 허용하지 않으며 값의 중복을 허용. |
- ArrayList : List 인터페이스의 구현 클래스에서 가장 많이 사용 되며, 요소를 배열로 유지하기 때문에 요소의 검색을 빠르게 처리할 수 있지만, 요소의 수가 많아지면 '추가/삭제' 처리에 시간이 걸린다.
- LinkedList : 요소끼리 전후 양방향의 링크로 참조하는 리스트 구조를 이용하여 관리하기 때문에, 요소의 추가or삭제가 ArrayList보다 빠름. 그러나 특정 요소 검색과 같은 인덱스 값에 의한 무작위 액세스에는 적합하지 않다.
📌 2-2 웹 애플리케이션 만들기의 필수 지식 확인
📃 1) 클라이언트와 서버 :
- 클라이언트는, 서비스를 요청하는 쪽
- 서버는, 서비스를 제공하는 쪽.
- 서버가 서비스를 제공해 그 서비스를 클라이언트가 사용하는 관계
📃 2) 브라우저 :
- 인터넷을 사용할 때 이용하는 소프트 웨어
- 구글 크롬, 파이어 폭스, 마이크로소프트 엣지, 인터넷 익스플로러, 사파리
📃 3) 애플리케이션과 웹 애플리케이션 :
- 애플리케이션은, 응용 프로그램 소프트웨어의 약어이다.(프로그래밍 언어로 작성한 소프트웨어)
- 웹 애플리케이션은, 인터넷을 통해 사용되는 응용 프로그램이다.(검색 엔진, e-커머스, e-러닝 등의 응용 프로그램이 웹 응용 프로그램으로 세상에 제공되고 있음)
📃 4) 웹 서버 :
- 웹 애플리케이션을 배포하는 서버이다.
- 웹 서버는 항상 실행되며, 클라이언트로부터 액세스(요청)를 계속 기다림.
📃 5) HTTP 통신(프로토콜) :
📃 6) GET 메서드와 POST 메서드 :
- GET메서드와 POST메서드는 HTTP요청의 한 유형이다.
- GET메서드는, 브라우저에서 웹 서버로 값을 전달할 때 URL 뒤에 값을 더하여 보내는 방식으로, URL 뒤에 오는 정보를 '쿼리 스트링' or '쿼리 문자열'이라고 한다.
- 특징1, url끝에 '?'가 붙어 쿼리 스트링의 시작을 나타냄 (domain.com/?)
- 특징2, 형식은 '이름=값'입니다. (domain.com/?name=value)
- 특징3, 여러 값을 전달하려면 '&'로 연결함. (domain.com/?name=value&tel=010)
(쿼리 스트링은 많은 양의 값을 보내기에 적합하지 않음)
- POST메서드는, 브라우저로부터 웹 서버에 값을 보낼 때 '요청 본문(request body)'이라고 하는 URL에는 보이지 않는 장소에 값을 넣어서 보내는 방법이다. (e-커머스 사이트 등에서 개인정보를 등록할때 입력한 내용을 URL에 표시하고 싶지 않을 경우 POST메서드를 사용하며, 많은 양의 값을 보내는 데 적합함.)
- GET메서드는 url에 대한 내용을 받는다는 의미, POST메서드는 지정한 url에 입력 정보를 보낸다는 의미.
📌 2-3 개발에 사용하는 편리한 라이브러리와 도구
📃 1) Lombok : 편리한 프로그램을 모아 모듈화한 것을 '라이브러리'라고 하며, Lombok은 그런 라이브러리 중 하나이다.
- Lombok을 사용하게 되면, getter나 setter 등의 코드를 작성하지 않아도 자동으로 구현해 주어, 매우 편리하기 때문에 자주 사용된다.
📃 2) Gradle : 빌드 도구로, 최근 자바 개발의 표준이 되고 있다.
- 빌드란 '요구된 실행 환경에서 동작할 수 있는 형식에 애플리케이션이나 라이브러리를 조립하는 것'을 말한다.
- 빌드로 자동화 할 수 있는 반복 작업
- 필요한 라이브러리를 리포지토리(라이브러리가 저장되어 있는 곳)에서 다운로드 함.
- 소스코드를 컴파일 함.
- 테스트를 실행하여 보고서를 출력.
- 클래스 파일의 아카이브(여러 파일이나 폴더를 하나로 정리하는 것)를 생성 함.
- 아카이브를 스테이징 환경(프로덕션 환경에 가까운 환경) 등에 배포 함.