본문 바로가기

프로젝트

면접 예상 질문&답변 #1

자바란 무엇이며 자바 특징에 대해서 설명해주세요.


자바는 미국 선 마이크로 시스템즈가 개발한 객체 지향 프로그램 언어입니다.


특징은 

1. JVM만 설치하면 컴퓨터 운영체제에 상관없이 작동하기 때문에 운영체제에 독립적입니다.

2. 기본 자료형을 제외하면 모든 요소들이 객체로 표현됩니다.

3. 객체 지향 개념 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다. 

4. Garbage Collector를 통한 자동 메모리 관리가 가능합니다.

5. 멀티쓰레드를 지원합니다.


※추가 질문

캡슐화에 대해서 설명해주세요.

-객체 정보는 공개하지만, 작동 방식은 비공개하는 객체 지향 개념입니다.  

-공개 정보와 비공개 정보를 접근지정자를 통해 구분하여 사용합니다. 

접근지정자: private, protected, default, public  


상속에 대해서 설명해주세요.

-부모 클래스에 정의된 멤버를 자식 클래스가 물려받는 것으로 자식클래스는 부모클래스 멤버를 마치 원래 본인인 것 처럼 사용할 수 있습니다. 


다형성에 대해서 설명해주세요.

-한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 하는 개념입니다. 


Garbage Collector의 원리를 설명해주세요.

-메모리할당

-사용 중인 메모리 인식

-사용하지 않는 메모리 인식

※Garbage는 객체를 말하며 객체가 만들어질 때 메모리를 생성하게 되고 수행이 완료된 시점에서 쓸모가 없어지기 때문에 메모리 처리를 위한 로직을 만들어 주어야 합니다.

※JVM 메모리는 클래스영역,자바 스택, 힙, 네이티브 메소드 스택으로 나뉜다. Garbage Collector는 힙메모리를 다룬다

※ 더 깊이 알고 싶다면 http://12bme.tistory.com/57


멀티쓰레드의 장점을 말해주세요.

-하나의 프로그램에서 여러 개의 일을 수행할 수 있습니다.

-동시에 여러 개의 코드를 실행할 수 있습니다.

※쓰레드: 프로세스 내에서 일을 처리하는 세부실행 단위 

※프로세스: 현재 실행중인 프로그램 (프로그램은 하나지만 프로세스는 여러 개 사용 가능)

'프로젝트' 카테고리의 다른 글

Uber Coding  (0) 2020.02.05