Object oriented programming추상화객체들 간의 공통된 속성이나 행동을 추출하여 하나의 개념(집합)으로 다룬다.인터페이스와 구현을 분리한다.캡슐화 필드와 메서드를 하나로 묶는 것정보 은닉 : 필요가 없는 정보는 외부에서 접근하지 못하도록 제한하는 것정
JVM에서 동작하기 때문에, 특정 운영체제에 종속되지 않는다.자동으로 메모리 관리를 해준다.JVM에서 Garbage Collector의 Garbage Collection으로 별도의 메모리 관리가 필요 없다.멀티스레드를 쉽게 구현할 수 있다.자바는 스레드 생성 및 제어와
표시는 다이어그램에서의 표기법을 말한다.non-static \- 객체마다 별도로 존재한다. 인스턴스 멤버라고 부른다.객체 생성 시에 생성된다.클래스 내의 다른 객체들과 공유되지 않는다.static \- 클래스 멤버라고 부른다.클래스 로딩 시에 멤버가 생성된다.객체를
추상 메서드와 상수만을 포함한다.상속받을 서브 클래스에게 구현할 메서드들의 원형을 모두 알려주어, 클래스가 자신의 목적에 맞게 메서드를 구현하도록 하는 것이다.구현 객체의 같은 동작을 보장하기 위한 목적이 있다.추상 메서드를 최소 한 개 이상 가지고 있다.서브 클래스에
Java virtual machine 자바 프로그램 실행환경을 만들어 주는 소프트웨어이다. 자바 코드를 컴파일 하여 .class 바이트 코드로 만들면 이 코드가 자바 가상 머신 환경에서 실행된다. \* Java 자체는 운영체제에 의존적이지 않지만 JVM 자체는 운영체제
Call by value : 값을 호출하는 것을 의미한다. 전달 받은 값을 복사하여 처리한다.Call by reference : 참조(주소)에 의한 호출을 의미한다. 전달 받은 값을 직접 참조한다.Java는 call by value만 가능하고, c++은 call by
리플렉션은 힙 영역에 로드된 Class 타입의 객체를 통해, 원하는 클래스의 인스턴스를 생성할 수 있도록 지원하고, 인스턴스의 필드와 메소드를 접근 제어자와 상관없이 사용할 수 있도록 지원하는 API이다.런타임 시점에서 클래스의 인스턴스를 생성하고, 접근 제어자와 관계
전송계층에서 데이터를 보내기 위해 사용하는 프로토콜TCP는 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다. 일반적으로 TCP IP가 함께 사용된다. IP가 데이터의 전송을 처리하고, TCP는 패킷 추적 및 관리를 하게 된다. 3-way handshake
JVM의 힙 영역에서 필요 없게 된 메모리인 Garbage를 JVM의 Garbage Collector가 불필요한 메모리를 알아서 정리해준다. 따라서 개발자가 메모리 관리를 따로 해줄 필요가 없게 해준다.JVM의 힙 영역은 처음 설계될 때 2가지 전제로 설계되었다.대부분
HyperText Transfer Protocol 인터넷에서 데이터를 주고 받을 수 있는 프로토콜이다.클라이언트가 요청을 하면 서버에서는 해당 요청에 맞는 결과를 응답하는 형태로 동작한다.응답 형태는 HTML, JSON, XML 등이 있다. HTTP는 연결 상태를 유지
데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 책의 색인과 같다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장된다. 데이터를 오름차순으로 정렬하기 때문에 정렬된 주소체계라고 표
자료간의 관계가 1:1인 자료구조메모리 상에 데이터가 연속적으로 저장고정된 크기삽입 삭제 O(N)접근 O(N)높은 Cache Hit RateCache Hit Rate: CPU가 참조하고자 하는 메모리가 캐시에 존재하는 경우공간 지역성: 참조된 주소와 인접한 주소의 내용
안정 정렬 정렬 후에도 동일한 값의 요소의 순서가 유지 되는 정렬 ex) 20(a) 21(b) 20(c) 22(d) -> 20(a) 20(c) 21(b) 22(d) 제자리 정렬 추가적인 메모리를 필요로 하지 않는 정렬 삽입 정렬 배열 앞에서부터 차례대로 비교하여 자신의
DI(Dependency Injection) 의존성 주입이란 의미로, 객체를 직접 생성하는게 아닌 외부에서 생성 후 주입시켜 주는 방식을 말한다. 생성자 주입, 필드 주입, Setter 주입 3가지 방식이 있다. 의존성 주입을 통해 모듈간 결합도를 낮출 수 있다. Io
Servlet 컨테이너에 http 요청이 들어온다.DispatcherServlet에 http request 객체를 전달한다.HandlerMapping을 통해 어떤 Controller를 호출할지 확인한다.해당 Controller에 http request 객체 전달.컨트롤
이벤트 기반 및 비동기 프로그래밍을 지원하는 Spring Framework의 모듈목적: 반응형 프로그래밍을 통해 '높은 처리량'과 '확장성'을 갖는 애플리케이션을 만드는 것을 목표로 합니다.Reactor를 사용하여 비동기적으로 웹 애플리케이션(어떠한 로직)을 처리하면서
✔️ 유연성 Flexibility포트와 어댑터를 사용함으로써, 다양한 기술 변화에 대응할 준비가 되어 있습니다.빠르게 기술이 변화되고 있는 현재, 더 나은 기술의 활용은 더 이상 선택이 아닌 필수로 볼 수 있습니다.이러한 유연성은 변경에 용이한 소프트웨어의 이점을 잘
hashCode()는 해당 문자열의 해시 코드를 반환equals()는 동일한 값을 가지는지 비교리터럴(literal)은 코드에서 직접 값으로 나타나는 데이터Java는 문자열 리터럴에 대해 내부적으로 문자열 풀(string pool)이라는 메모리 영역을 유지한다. 동일한