컴포넌트 vs 모듈
-> 컴포넌트 : 런타임 개체를 참조하는 단위로, 실제적으로 동작하는 개체
-> 모듈 : 가장 상위에 위치한 구현의 단위로, 실질적으로 구현이 된 단위
자바란?
: 객체지향 프로그래밍 언어로써, 운영체제에 독립적이고, 자바를 실행하기 위한 가상 머신인 JVM이 있기 때문에 운영체제 종류에 관계없이 실행이 가능함
OOP [ 객체 지향 프로그래밍 | Object Oriented Programming ]
: 오브젝트를 기준으로 코드를 나누어 구현하는 프로그래밍 방법
-> 특징
1. 코드 재사용성이 높다.
2. 코드의 변경이 편하다.
3. 직관적인 코드 분석이 가능하다.
4. 개발 속도가 향상된다.
5. 상속을 통한 장점이 극대화된다.
가비지 컬렉션
: 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아,
자동으로 다시 사용 가능한 자원으로 회수하는 것.
Primitive type(기본형) vs Reference type(참조형)
-> Primitive type : 스택 메모리 영역인 변수에 값 자체를 저장하는 것
[ 정수형 : byte, short, int, long / 실수형 : float, double / 문자형 : char / 논리형 : boolean ]
-> Reference type : 메모리 상에 객체가 있는 위치에 저장하는 것
[ Class, Interface, Array ]
Object
: OOP에서 데이터 변수와 그 데이터에 관련되는 동작, 절차 방법 기능을 모두 포함한 개념
Overloading vs Overriding
-> Overloading : 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것
-> Overriding : 상속에서 나온 개념으로, 부모 클래스의 메소드를 하위 클래스에서 재정의하는 것
상속이란?
: 기존 클래스의 기능을 유지하면서, 추가적인 기능을 추가하여 클래스를 만들고 싶을 때 사용하는 방법
다형성이란?
: 하나의 클래스나 함수가 다양한 방식으로 동작이 가능한 것
캡슐화?
: 관련된 데이터와 메서드를 하나의 단위로 묶는 원리
Servlet
: Container가 이해할 수 있게 구성된 순수 자바 코드로만 이루어진 것
Jsp
: HTML 소스 코드 속에 자바 소스 코드가 들어가는 구조를 갖는 웹 애플리케이션 프로그래밍 기술
GET 방식 vs POST 방식
-> GET 방식 : 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 '주소명'과 '값'이 결합된 스트링 형태로 전달
-> POST 방식 : 일정 크기 이상의 데이터를 보내야 할때
-> 차이
: GET은 주로 웹 브라우저가 웹 서버에 데이터를 요청할때 사용하고,
POST는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용함
RESTful
: 해당 URL만 보더라도, 바로 어떤 작업을 하는지를 알 수 있도록 하나의 데이터는 하나의 URL을 갖도록 작업하는 방식
MVC 패턴
: Application을 Model, View, Controller 영역을 구분하여 개발하며, 영역간의 결합도를 최소화한 디자인 패턴
-> Model : Application에 비즈니스 로직과 사용되는 데이터를 다루는 영역
-> View : 사용자 인터페이스 내의 구성 요소들을 표현하는 것 (사용자에게 보여지는 화면)
-> Controller : Model과 View를 연결하고 있는 클래스를 대표하며, 클래스들 간 정보 교환에 사용됨
Interface - 메소드 선언만 가능
: 추상 클래스로 오직 추상 메소드와 상수만을 멤버로 갖는다.
[ Implements 키워드 사용 ]
Abstract
: 추상 메소드를 하나 이상 가진 클래스
Call by Reference
: 매개 변수의 원래 주소에 값을 저장하는 방식
Call by Value
: 인수로 기본 데이터형을 사용하고, 주어진 값을 복사하여 처리하는 방식
접근 제한자
- Public : 접근 제한 없음
- Protected : 같은 패키지 내에서, 다른 패키지에서는 상속받아 자식 클래스에서 접근 가능
- Default : 같은 패키지 내에서만 접근 가능
- Private : 같은 클래스 내에서만 접근 가능
정렬
-> 선택 정렬 : 주어진 리스트에 최소값을 찾아 맨 앞에 위치한 값과 교체하며 리스트를 반복해 교체하는 알고리즘
-> 삽입 정렬 : 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘
-> 버블 정렬 : 매번 연속된 두 개 인덱스를 비교하여, 정한 기준의 값을 뒤로 넘겨 정렬하는 알고리즘
인스턴스
: 클래스로부터 객체를 만드는 과정을 인스터화, 클래스로부터 만들어진 객체
클래스
: 객체를 프로그램적으로 만들기 위한 설계 코드 _ 객체들의 집합
객체
: 소프트웨어에 구현할 대상
인덱스란?
: 검색 속도를 높이기 위해 사용하는 기술 ( 찾고자 하는 페이지를 바로 찾을 수 있는 방식 )
세마포어
: 하나의 자원에 두 개 이상의 프로세스 혹은 쓰레드가 접근하는 경우 문제가 발생하는데,
이를 제어하기 위해 프로세스에서 사용하는 것
교착상태
: 두 개 이상의 프로세스나 쓰레드가 서로 자원을 기다리면서 무한히 기다리게 되는 상태
-> 해결 방법
1. 상호 배제
2. 점유와 대기
3. 비선점
4. 환형 대기
equals
: 두개 String에 값만을 비교해서 같으면 true, 다르면 false
indexOf
: 지정한 문자가 문자열에 몇번째에 있는지 반환
length
: 문자열의 길이 반환
split
: 지정한 문자로 문자열로 나눌 수 있음 -> 배열로 반환됨
substring
: 문자열에 지정한 범위에 속하는 문자열 반환
toString
: 문자열을 그대로 반환
toLowerCase
: 문자열에 대문자를 소문자로 반환
toUpperCase
: 문자열에 소문자를 대문자로 반환
trim
: 문자열에 공백을 없애줌
valueOf
: 지정한 개체의 원시값을 반환
charAt
: 지정한 index번째에 문자를 반환
'Study > JAVA' 카테고리의 다른 글
Range-based for (0) | 2021.02.16 |
---|---|
var (0) | 2021.02.16 |
bit operator (0) | 2021.02.16 |
2-D Array (0) | 2021.02.16 |
1 - D Array (0) | 2021.02.15 |