1.트랜잭션: 데이터베이스 처리의 기본 단위. 하나의 논리적인 작업 단위
ACID
Atomicity: 모두 수행되거나 모두 수행되지 않는다.
Consistency: 트랜잭션 수행 후에는 데이터의 일관성을 보장한다.
Isolation: 트랜잭션은 서로 독립적이다. 여러 트랜잭션이 수행되도 영향을 주지 않음
Durability: 트랜잭션이 완료되면 데이터는 지속된다.
2.동적로딩(Dynamic Loading)
-실행 시에 모든 클래스가 로딩 되지 않고 필요한 시점에 필요한 클래스만 로딩하여 사용한다.
3.오토박싱
-기본형과 참조형을 자동으로 형 변환 해주는 기능.
4.형변환
-작은 자료형에서 큰 자료형의 변환은 손실이 없으므로 캐스트 연산자를 생략하는 것을 허용한다.
5.객체지향언어
-소프트웨어를 객체지향의 특성을 잘 나타내어 구현하는데 사용되는 프로그래밍 언어. 순차지향적인 프로그래밍이 아닌, 실생활에서처럼 객체들이 상호작용하는 것 처럼 프로그래밍 하가 위해 사용.
6.클래스 변수-static
-모든 클래스의 인스턴스가 공유하는 변수.static변수를 한 인스턴스가 변경하면 다른 인스턴스도 참조하고 있는 모든 클래스 변수가 바뀜.
7.클래스 메소드-static
-클래스의 인스턴스 생성 없이, 클래스명, 메소드명으로 사용할 수 있는 메소드, static영역이기 때문에 인스턴스를 사용할 수 없다.
8.메소드 오버로딩
-한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것을 오버로딩이라 한다.
1).메서드 이름이 같아야한다.
2).매개변수의 개수 또는 타입이 달라야 한다.
3).매개변수는 같고 리턴타입이 다른 경우 오버로딩이 성립되지 않는다.
9.생성자
-인스턴스가 생성될 때 실행되는 인스턴스 초기화 메소드
10.상속
-기존의 클래스를 재사용하여 새로운 클래스를 작성하는것
11.자바에서 다중상속을 포기한 이유(단일상속인 이유)
-다중상속할 경우, 만약 부모가 둘이고, 둘다 같은 이름의 메소드가 구현되어있다면, 자식은 두 부모의 메소드중 어떤 것인지 명시할 방법이 없음.
12.오버라이딩
-조상 클래스로부터 상속받은 메소드의 내용을 변경하는 것. 지식에 맞게 변경하는것. 메소드의 내용만을 새로 작성하는 것이기 때문에. 메서드의 선언부는 모두 같아야 한다.
13.다형성(Polymorphism)
-한 타입의 참조 변수로 여러 타입의 개체를 참조할 수 있는 성질. 조상 클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있도록 하는것. 자손 타입의 참조 변수로 조상타입의 인스턴스는 참조할 수 없다.
14.Casting
1)Up-casting : 자손타입->조상타입으로 형 변환하는것. 형변환이 생략 가능하다.
2)Down-casting : 조상타입->자손타입으로 형 변환 하는것. 형변환 생략 불가능하다.
15.추상클래스(Abstract)
-미완성 클래스, 추상 메소드를 포항하고 있는 클래스, 새로운 클래스를 작성하는데 바탕이 된다. 자식은 추상클래스를 상속받아 추상메소드를 구현하여 사용한다.
16.추상메소드
-선언부만 있고, 구현부는 작성하지 않은 채로 남겨둔것.
17.추상화
-클래스간의 공통점을 찾아서 공통의 조상을 만드는 작업.
18.인터페이스
-implements키워드, 추상클래스보다 추상화 정도가 높음. 추상 클래스와 달리 몽통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다.
19.에러와 예외의 차이
-에러: 프로그램 코드에 의해 수습될 수 없는 심각한 오류
-예외: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
20.컬렉션 프레임웤
-많은 데이터를 저장하는 클래스들을 표준화한 것.
컬렉션 클래스: 벡터, 리스트와 같이 많은 데이터를 저장할 수 있는 클래스
21.동기화
-멀티쓰레드 프로그래밍에서는 하나의 객체를 여러 쓰레드가 동시에 접근.
22.Deep copy, Shallow Copy
-배열이나 객체를 복사할때 단순히 참조만 복사하는 것을 shallow copy,원본과 같은 데이터를 저장하고 있는 새로운 객체나 배열을 생성하는 것은 deep copy라고 한다.
23.LinkedList
-크기를 가변적으로 변경 가능. 비순차적인 데이터의 추가 삭제에 유리함.
24.Thread
-프로세스 : 실행중인 프로그램
-스레드 : 프로세스의 자원을 이용해서 실제로 작업을 수행하는것.
-스레드의 개수는 제한되어 있지 않으나, 프로세스의 메모리 한계가 정해져 있기 때문에 스레드의 개수 또한 제한된다.
25.멀티스레딩
-CPU 사용률 향상
-자원을 보다 효율적으로 사용
-사용자에 대한 응답 향상
-작업의 분리, 코드 간결
26.Deadlock(교착상태)
-두 쓰레드가 자원을 점유한 상태에서 서로 상대편이 점유한 자원을 사용하려고 기다리고 있는 상태
27.Adapter 클래스란?
-이벤트 핸들러를 작성할 때, 이벤트 어리에 필요한 메서드의 개수와는 관계없이 해당 이벤트 리스터 인터페이스에 정의된 모든 추상메소드를 구현해야 하는 것이 불편함.
28.java 콜렉션 대표 인터페이스 3개
-List : 순서가 있는 데이터 집합. 데이터의 중복허용(ArrayList, LinkedList, Stack Vector)
-Set : 순서를 유지하지 않음, 중복을 허용 안함. (HashSet, TreeSet)
-Map : 키와 값의 쌍으로 이루어짐. 순서는 유지 안함. 키는 중복 허용 안함.값은 중복 허용(HashMap, TreeMap)
29.접근제어자 종류 특성 설명
-private : 같은 클래스 내에서만 접근
-default : 같은 패키지 내애서만 접근
-protected : 같은 패키지 내, 그리고 다른 패키지의 자식 클래스에서 접근
-public : 접근 제한 없음
30.IoC컨테이너란?
-스프링에서는 스프링이 제어권을 가지고, 직접 만들고 관계를 부여하는 오브젝트를 빈이라고 한다. 스프링 빈은 스프링 컨테이너가 생성과 관계설정, 사용 등을 제어해주는 IoC가 적용된 오브젝트를 가리킨다.
31.DI의존관계 주입
-인터페이스를 구현한 구체적인 클래스를 인터페이스에 할당하는것.
-의존관계를 주입시켜준다.
32.Proxy(프록시)란?
-자신이 클라이언트가 사용하려고 하는 실제 대상인 것처럼 위장해서 클라이언트의 요청을 대신 받아 주는것.
실제 서버의 서비스를 받기 전에, access control이라던가 사전에 할 작업이 있을 경우.