💡 Object란?
: Object(객체)는 OOP에서 데이터(변수)와 그 데이터에 관련되는 동작(함수).
즉 절차, 방법, 기능을 모두 포함한 개념
ex) 기차역에서 승차권을 발매하는 경우,
실체인 '손님'과 동작인 '승차권 주문'은 하나의 객체이며,
실체인 '역무원'과 동작인'승차권 발매'도 하나의 객체이다.
같은 성질, 같은 구조와 형태를 가지는 객체는 등급으로 정의하고 등급에 속하는 객체는 그 등급의 인스턴스라고한다.
💡 Wrapper Class
- Obejct를 상속하는 모든 클래스를 참조형(Reference Type)
- 원시적인 형태로 표현하는 기본형(Primitive Type)
Primitive Type | Wrapper Class |
int | Integer |
char | Character |
byte | Byte |
short | Short |
long | Long |
double | Double |
boolean | Boolean |
Wrapper Class 란?
- 기본형(Primitive type)으로 표현할 수 있는 간단한 데이터를 객체로 만들어야 할 경우가 있는데 그러한 기능을 지원한다.
- 기본형들을 참조형으로 나타낸 것이 Wrapper Class이다. 기본형 변수를 객체화할 필요가 있을 때 쓰인다.
- ex) 기본형 변수를 List에 저장할 때가 대표적임
💡 접근제한자 (public > protected > default > private)
public
- 접근 제한이 없다. (같은 프로젝트 내에 어디서든 사용 가능)
protected
- 같은 패키지 내, 다른 패키지에서 상속 받아 자손클래스에서 접근 가능
default
- 같은 패키지 내에서만 접근 가능
private
- 같은 클래스 내에서만 접근 가능
💡 Stack, Queue
Stack
- 후입선출 LIFO (Last in First Out)의 원리로 동작하는 선형적인 자료구조이다. 데이터가 들어가고 나오는 입구가 하나뿐이므로 입구로 들어간 데이터가 스택에 차곡차곡 쌓여있다가 마지막에 들어간 데이터가 처음에 나온다.
- push();를 이용한 데이터 입력, pop();을 이용한 데이터 출력
- 주로 계산 중에 잠시 기억해야하는 임시적인 자료를 관리하는 용도로 사용된다.
Queue
- 선입선출 FIFO (First in First Out)의 원리대로 동작하는 자료구조이다. 동일한 자료의 집합을 다운다는 면에 있어서는 스택과 비슷하지만, 가장 먼저 들어간 자료가 먼저 나오는 구조이다.
- enQueue();를 이용한 데이터 입력, deQueue();를 이용한 데이터 출력.
- 넣은 순서대로 자료를 꺼내가므로 순서대로 처리해야하는 자료를 임시적으로 저장하는 용도로 흔히 사용
- 저장되는 자료의 타입이 동일하므로 배열 또는 연결리스틀로 큐를 구현할 수 있다.
💡 Singleton Design Pattern (싱글톤 디자인 패턴, 싱글톤 패턴)
앱이 시작하고 클래스가 처음에 한번만 메모리에 할당하여 그 객체를 계속 사용하는 디자인 패턴
- 하나의 객체를 생성하였기 때문에 동시에 공유하여 사용하는 것이 불가능하다.
- API 호출같이 계속 사용하는 클래스를 싱글턴패턴으로 생성하면 메모리관리를 더 효율적으로 할 수 있다.
- 처음에만 메모리를 할당하기에 두번째 사용할 때는 객체를 호출하는 시간이 줄어들어 성능이 좋아진다.
'📌ETC > Tech Interview' 카테고리의 다른 글
신입 개발자 기술면접 질문 정리 #7 (0) | 2022.10.01 |
---|---|
신입 개발자 기술면접 질문 정리 #1 ~ #6 (0) | 2022.09.26 |
신입 개발자 기술면접 질문 정리 #5 (1) | 2022.09.16 |
신입 개발자 기술면접 질문 정리 #4 (0) | 2022.09.16 |
신입 개발자 기술면접 질문 정리 #3 (2) | 2022.09.16 |