1. 객체지향프로그래밍(Object-Oriented Programming)
1) 개념
인간이 구분할 수 있는 요소를 객체로 표현한 인간중심 프로그래밍
실제 세계를 프로그래밍으로 옮겨와 프로그래밍하는 것
2) 특징
상속 : 상위 객체 상속
추상화 : 공통 특성 파악해
캡슐화 : 중요한 데이터를 보존,보호하는 것(접근 제어자 이용)
다형성 : 동일한 요청에 다른 방식 처리가능
3) 장점
유지보수용이, 코드관리 용이, 중복 회피, 재사용 가능
2. 클래스와 인스턴스
클래스 : 필드와 메서드로 구성된 것으로 설계도
인스턴스 : 실제 존재하는 것으로 클래스로부터 만들어짐
3. 오버로딩 오버라이딩
오버로딩 : 같은 이름의 메소드를 여러 개 정의(메소드 명 일치, 매개변수의 수나 타입 불일치, 반환타입은 영향없음)
오버라이딩 : 상속 관계에서 자손이 조상의 메서드를 재정의(메소드명, 매개변수 수타입 일치, 구현부가 다름)
4. 추상클래스 인터페이스
공통점 : 추상메서드 존재, 객체 생성 불가
추상 클래스 : 단일상속, 추상메서드, 필드 존재, extends
인터페이스 : 다중상속, 상수와 추상메서드만 존재, implements
5. 배열과 list 차이
배열은 크기가 고정되어 있고, 한 타입만 사용가능하지만 list는 크기가 가변적이고 여러 타입 사용이 가능하다.
6. jvm(Java Virtual Machine)
Method area : static, 전역변수와 같은 코드에서 사용되는 Class 정보 등이 올라간다
Stack : 지역변수, 메서드 등이 할당되는 메모리
Heap : 인스턴스 변수, 인스턴스 객체 저장
7. stack VS queue
stack : LIFO, 후입선출, 뒤로가기, 실행취소(undo)
queue : FIFO, 선입선출, 인쇄 대기열, 은행 대기표
8. 기본형 매개변수 vs 참조형 매개변수
기본형 매개변수 : 변수 자체 값 저장(ex. 일반 복사 -> 복사된 파일 변경해도 원본 파일 변화 없음)
참조형 매개변수 : 변수의 주소 저장 (ex. 바로가기 복사 - > 복사된 파일 변경하면 원본 파일 변화 있음)
9. 싱글톤
클래스 인스턴스 1개만 사용하는 것으로 전역 접근이 가능한 객체 (메모리 낭비 방지)
10. Thread
한 프로세스 내에서 동시에 실행되는 독립 단위 (멀티 스레드: 카카오톡 채팅하면서 영상,사진 보내기 가능)
11. String StringBuilder StringBuffer
공통점 : 문자열을 관리하고 저장하는 클래스
- String
- 메모리가 정해져 있음 -> 새로운 문자열을 추가한 경우 기존 스트링은 제거되고 새로운 String 객체 생성되어 저장
- StringBuffer(멀티스레드)
- 문자열 연산이 많고 멀티스레드 환경일 경우
- 크기 가변적으로 변화
- StringBuilder(단일스레드)
- 문자열 연산이 많고 단일스레드이거나 동기화를 고려하지 않아도 되는 경우
- 단일스레드이기 때문에 StringBuffer보다 빠른 속도
- 크기 가변적으로 변화
'면접준비' 카테고리의 다른 글
면접준비_Spring/JSP (0) | 2022.01.23 |
---|---|
면접준비_자바코딩 (0) | 2022.01.22 |
댓글