IT 면접족보/자바 면접족보

자바 면접 족보 정리(2일 차)

낙산암 2020. 12. 3. 17:17

1. 주석이란 무엇이며, 종류는?

주석(coment)의 목적은 **소스 코드에 대한 설명을 하기 위한 것이다. 코드를 작성한 본인 뿐 아니라 다른사람이 그 코드를 봤을 때도 이해하기 쉽도록 설명을 해야할 필요가 있기 때문에 주석을 사용한다. 주석은 컴파일 시 무시되기 때문에 연산 결과에 반영되지 않아 프로그램에 영향을 주지는 않는다.

 

/*

범위를 지정해 문단을 주석처리 할 때

주석을 길게 작성할 때 사용한다.

*/

 

//문장()을 주석처리 할 때

//짧은 주석을 작성할 때 사용한다.

 

참고로, 이클립스에서 사용되는 주석 단축키는 다음과 같다. (해당 문장 혹은 문단에 주석 기호가 자동으로 붙으며 주석 처리가 된다.)

 

행 주석 단축키 ctrl + / (해제 동일) (windows, mac)

범위 주석 단축키 ctrl + shift + / 범위 주석 해제 단축키 ctrl + shift + \ (windows)

 

2.주석은 컴파일시 어떻게 되는가?

주석은 컴파일시 코드 내용으로 인식되지 않고 무시되어 연산 결과에 반영되지 않아 프로그램에 영향을 주지 않는다. 다만 사람이 코드를 이해하기 쉽도록 도와주기 위해서 작성한다.

 

3. 들여쓰기는 왜 해야 되는가?

각각의 블록(class, method )들의 포함 관계를 보여주어 이해를 빠르게 하기 위해서 이다. (가독성)

 

4. 변수란 무엇인가?

 

변수(variable)변하는 수를 의미한다. 변수의 선언은 메모리 할당 이므로, 변수는 메모리 공간에 차지하는 하나의 방을 의미한다고 할 수도 있다. **변수의 값은 프로그램 실행 도중 계속 변할 수 있다.

 

반대로 상수(constant)는 변하지 않는 수로 초기화 이후의 값은 변할 수 없다.

 

//변수 사용 예시

int num = 11;

 

num = 22;

num = 35;

num = 80;

 

5. 변수선언의 의미는 무엇인가?

변수 선언은 메모리 공간 할당을 의미하며 1. 크기Data type(자료형)에 의해 결정되고, 2.**내용**이 어떤 타입이 들어갈 것인지(int, float, double...)결정되는 것을 의미한다.

 

 

//변수 선언 예시 - 변수의 타입 + 변수의 이름

int num1;

float num2;

char ch;

 

//변수의 선언과 초기화가 동시에 이루어질 경우

int num1 = 1;

float num2 = 3.0;

 

//상수 선언 예시

final double PI = 3.14;

 

 

int형 변수에 double형 타입을 넣을 수 없다.** 자동 축소 형변환안됨 (주의!)

 

6.  8형제(자료형)을 써보세요(feat.외우세요).

데이터 타입 9(Primitive data Type 기본형 8+ Reference Type 참조형)

 

7. int 형 범위는 어떻게 되는가?

 

1byte = 8bit 28256, 2byte = 16bit 2161024

 

정수를 표현하는 int 자료형은 크기가 4byte32bit 232승이다.

(부호 표현을 제외한 31승의 값을 계산하면) **-21~21억의 범위(정확히는 -2,147,483,648 ~ 2,147,483,647)가 표현이 가능하다. (long형은 약 -92백경~92백경)

 

 

8. int num; 을 메모리로 설명해 보세요.

 

정수형 데이터타입(자료형)으로 4byte의 메모리공간을 할당받는 변수 num을 선언한다.

 

int num;int(정수)형 타입의 num(변수 이름)변수를 선언한다는 것으로, 이것은 int타입의 4byte만큼을 이 변수를 위해 메모리 공간을 할당한다는 것이다. , num 변수의 메모리 공간이 4byte만큼 확보된다는 것을 의미한다. (메모리 공간에 정수가 들어감)

 

 

9.문자가 뿌려지는 원리에 대하여 설명하시오.

char ch = 'a'

출력 결과: a

 

데이터 타입에 맞춰서 표를 찾아 A(문자)->숫자 인코딩 / 숫자->A(문자) 디코딩 된다.

 

a = 97, A = 65 와 같이 1:1 매칭으로 약속되어있음 (표준)

"_"공백(sp) 32, 0=34, 1=3

ASK2코드, Unicode 표를 참고한다.

1. 인코딩

a 라는 문자가 char 타입이라 컴퓨터가 알아 들을 수 있도록 ASK2코드(유니코드)표를 참고해 이진수로 변환되어 컴퓨터(cpu)에 전달된다.

2. 디코딩

컴퓨터가 가진 이진수를 데이터 타입을 참고하여 같은 값을 가지고 있는 폰트를 찾아 화면에 출력한다.

왜 문자'1'의 코드 값 34가 메모리에 들어갔는데 출력할 때 다시 1이 나오는 것일까?

 

10. 아스키 코드란 무엇인가요?

아스키코드

미국정보교환표준부호(American Standard Code for Information Interchange), 줄여서 ASCII(아스키)코드는 1960년대 미국에서 영문 알파벳 대소문자 52개와 10개의 숫자, 32개의 특수 문자, 공백 등을 비롯해 95개의 출력 가능한 문자들로 총 128개로 이루어져 있다.

유니코드

한국어나 일본어, 중국어 등 영어 외의 문자들을 표현하기 위해 ASCII에 추가된 유니코드(Unicode: UTF-8)가 사용되고 있다. Java는 유니코드표를 사용한다.

 

- **수업 내용 : char & **

 

 

## 수업 내용 추가

 - 자바 프로그램을 100개 돌리면 JVM이 각각 100개가 돌아간다.