코드스테이츠 BE 20일차 - Java 모의면접

coding infant·2022년 7월 20일

코드스테이츠BE

목록 보기
20/48

Q1. 자바 데이터 타입 중 기본형과 참조형의 차이에 대해 설명해주세요.

크게 기본형과 참자바의 데이터 타입은 조형 두 가지로 나눌 수 있다

기본형은 계산을 위한 실제 값을 저장하는 반면, 참조형은 어떤 값이 저장되어 있는 주소를 값으로 갖는다.

저장 공간 - 기본형은 스택 메모리에 실제값을 저장하며 , 참조형은 힙 메모리에 실제값을 저장 후 해당 주소를 스택 메모리에 저장한다

수정여부 매개변수로 이용될 때 - 기본형 : 실제 값만 가져오는 것이기에 읽기만 가능, 참조형: 변수 값 읽고 변경 가능

기본형은 논리형, 문자형, 정수형, 실수형으로 나뉘는데 /이 때 논리형은 boolean, /문자형은 char, /정수형은 크기가 작은 순서대로 /byte, short, int, long을 쓸수 있으며 /실수형에는 float, double을 사용할 수 있다.

이에 반해 참조형은 앞서 말한 9가지 기본형을 제외한 나머지 타입을 말한다

기본형과 참조형을 선언할 때 차이점?

(변수를 선언할 때/ 기본형 변수는 타입을 적고 변수이름을 선언해주는 반면, /참조변수는 클래스이름을 적고 변수이름을 선언해준다)

(자바는 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수이다.)

(데이터 타입 기본형, 참조형

기본형 : 객체가 아니다 int, byte, short, char, float, double

참조형 : class interface 주소 보여주고 실제값은 다른)

Q2. 클래스와 객체에 대해 설명해주세요.

클래스는 객체를 정의한 설계도이며, / 객체(오브젝트)는 설계도로 구현한 모든 대상을 말합니다

구성에 따라 비교를 해보겠습니다

클래스는 필드, 메서드, 생성자, 이너클래스로 구성된다 (의 이름은 대문자로 시작하며 내부에는 )

필드는 클래스의 속성, 메서드는 클래스의 기능, 생성자는 클래스의 객체 생성, 이너 클래스는 클래스 내부에 존재하는 또다른 클래스로서

이 중 필드, 메서드, 이너클래스를 클래스의 멤버라고 한다.

객체는 속성과 기능의 집합 (속성은 필드로, 기능은 메서드로 정의)

더 나아가 클래스의 타입으로 선언되었을 때 객체라 하고, 그 객체가 메모리에 할당되어 사용될 때 인스턴스라 한다.

Q12. List, Set, Map의 차이에 대해서 설명해주세요.

list : 순서가 있는 저장공간. 중복을 허용 (arraylist, vector, linkedlist). 배열이 가변적이라 데이터의 추가, 삭제가 쉬운 편이다 하나하나 순회하기때문에 속도 느리다

set : 순서가 없다. 중복을 허용하지 않는다. 빠른 검색속도. 인덱스 존재하지 않기 때무에 정렬하기 위해 별도의 처리(iterator)가 필요하다

map ; 순서 없고 중복 없다 키와value값을 같이 저장. key는 중복 불가, value는 중복 가능. 속도 빠르다 .인덱스 존재하지 않기 때무에 정렬하기 위해 별도의 처리(iterator)가 필요하다


꼬리질문

1.기본형과 참조형을 선언할 때 차이점?

(변수를 선언할 때/ 기본형 변수는 타입을 적고 변수이름을 선언해주는 반면, /참조변수는 클래스이름을 적고 변수이름을 선언해준다)

  1. 객체와 인스턴스의 차이점 간단하게?

클래스의 타입으로 선언되었을 때 객체라 하고, 그 객체가 메모리에 할당되어 사용될 때 인스턴스라 한다.

  1. 별도의 처리가 필요하다고 했는데 어떤 걸 말하는지?

iterator

Collection 컬렉션에 저장되어 있는 요소를 읽어오는 인터페이스인 iterator을 사용한다. hasNext 등의 메서드 등을 사용하여 각 요소에 접근하도록 하고 있다.


페어 면접 질문
1. 자바의 메모리 영역에 대해 설명해주세요.
2. 컬렉션과 스트림의 차이에 대해서 설명해주세요.
3. 제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.

0개의 댓글