기초 8

URL 이란?

URL(Uniform Resource Locator) - 인터넷의 리소스를 가르키는 표준이름 URL의 구조 ex) http://www.ex-http.com/ch01/index.html URL의 첫 부분인 http는 URL의 스키마이다. 스키마는 웹 클라이언트가 리소스에 어떻게 접근하는 지 알려준다. 이 경우에 URL은 http 프로토콜을 사용한다. URL의 두 번째 부분인 www.ex-http.com은 서버의 위치다. 이는 웹 클라이언트가 리소스가 어디에 호스팅 되어 있는지 알려준다. URL의 세 번째 부분인 /ch01/index.html은 리소스의 경로이다. 경로는 서버에 존재하는 로컬 리소스들 중에서 요청받은 리소스가 무엇인지 알려준다. URL 문법 ://:@:/;?# 컴포넌트 설명 기본값 스키마 리..

HTTP 2023.09.03

Web Server 그리고 WAS(Web Application Server)

웹 서버 HTTP 프로토콜을 기반으로 클라이언트가 웹에 요청을 하면 정적 컨텐츠로 응답하는 서버이다. 이 때, 여기서 말하는 정적 컨텐츠로는 단순 HTML 파일, CSS, 이미지 등 다른 처리 없이 바로 응답 가능한 컨텐츠이다. (ex, apache, NginX ... ) WAS(Web Application Server) DB를 통해 다양한 로직을 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 동적 웹 서버이다.(ex, Tomcat, JBoss, WebSphere ... ) -WAS는 DB 조회나 다양한 로직을 처리하느라 부하가 많기 때문에 단순한 정적 컨텐츠는 웹 서버에서 빠르게 처리하는 것이 좋다. -WAS는 기본적으로 동적 컨텐츠를 제공하기 위해 존재하는 서버 -만약, 정적 컨텐츠 요청까지 WAS가..

Computer Science 2023.08.28

트리

트리란? - 그래프의 일종으로 정점과 간선을 이용하여 데이터의 배치 형태를 추상화한 자료구조 - 비순환 구조 트리 관련 용어 루트 : 트리의 시작부분 즉, 가장 윗 부분을 나타낸다. 하나의 트리에는 하나의 루트가 있다. 리프 : 트리의 가장 아랫부분에 위치하는 노드를 리프라고 한다. 이 때, 맨 아래에 있는 노드가 아닌 자식 노드가 없는 노드를 나타낸다. (terminal node, external node) 안쪽 노드 : 루트 및 리프 노드를 제외한 노드를 안쪽 노드라고 한다. (non-terminal node) 자식 : 노드 바로 아래에 연결된 노드를 자식 노드라고 한다. 노드는 자식을 여러 개 가질 수 있다. 부모 : 노드에서 바로 위쪽에 연결된 노드를 부모 노드라고 한다. 형제 : 같은 부모를 가..

자료구조 2023.08.24

Map 인터페이스

Map 인터페이스는 키(Key)와 값(Value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용된다. 키는 중복될 수 없고, 값은 중복이 가능하다. Map 인터페이스 메서드 메서드 설명 void clear() Map의 모든 객체를 삭제한다. boolean containsKey(Object key) 지정된 key객체와 일치하는 Map의 key객체가 있는지 확인한다. boolean containsValue(Object value) 지정된 value객체와 일치하는 Map의 value 객체가 있는지 확인한다. Set entrySet() Map에 저장되어 있는 key-value 쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환한다. boolean equals(Object o) 동일한 ..

JAVA 2023.08.13

List 인터페이스

List 인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다. List 인터페이스에 정의된 메서드(Collection 인터페이스에서 상속받은 메서드는 제외) 메서드 설명 void add(int index, Object element) boolean addAll(int index, Collection c) 지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다. Object get(int index) 지정된 위치(index)에 있는 객체를 반환한다. int indexOf(Object c) 지정된 객체의 위치(index)를 반환한다. (List의 첫 번째 요소부터 순방향으로 찾는다.) int lastIndexOf(Object c) 지정된 객체의 위치..

JAVA 2023.08.13

Collections Framework

Collections Framework란? - 데이터 군을 저장하는 클래스들을 표준화한 설계 장점 - 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있다. - 따라서 사용법도 익히기 쉽고, 재사용성이 높은 코드를 작성할 수 있다. Collections Framework에서는 그룹을 크게 3가지로 나눈다.(List, Set, Map) ※List와 Set을 구현한 컬렉션 클래스들은 서로 많은 공통 부분이 있어서, 공통 부분을 뽑아 Collection 인터페이스를 정의할 수 있었지만, Map 인터페이스는 이들과는 전혀 다른 형태로 컬렉션을 다루기 때문에 같은 상속계층도에 포함되지 못했다. 인터페이스 특징 List 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. 구현클래스 : ArrayL..

JAVA 2023.08.12

overriding 이란?

Overriding : 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것. ex) class Point { int x; int y; String getLocation() { return "x : " + x + ", y :" + y; } } class Point3D extends Point { int z; String getLocation() { return "x : " + x + ", y : " + y + ", z : " + z; } } 오버라이딩의 조건 (자손 클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와) - 이름이 같아야 한다. - 매개변수가 같아야 한다. - 반환타입이 같아야 한다. 주의) 조상 클래스의 메서드를 자손 클래스에서 오버라이딩할 때, - 접근 제어자를 조상 클래스의 메서..

JAVA 2023.08.12

overloading 이란?

자바에서 한 클래스 내에서 사용 용도가 같지만 받는 인자가 다른 경우가 종종 있다. 즉, 한 클래스 내에 사용하려는 메서드 이름이 존재하여도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 이를 오버로딩(overloading) 이라고 한다. Overloading의 조건 - 메서드 이름이 같아야 한다. - 매개변수의 개수 또는 타입이 달라야 한다. 오버로딩의 예로 println 메서드를 봐보자. 실제로 println 메서드를 호출할 때, 매개변수로 지정하는 값의 타입에 따라서 호출되는 println 메서드가 달라진다. void println() void println(boolean x) void print(char x) void print(char[] x) ... 오버..

JAVA 2023.08.12