티스토리 뷰
더 깔끔한 노션을 원한다면
자바의 데이터타입은 primitive type(기본형)과 reference type(참조형)으로 나뉜다.
Primitive type
비객체형 타입으로 자바 언어에 내장된 기본 유형이다.
기본값이 있기 때문에 Null이 존재하지 않는다.
만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용한다.
실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다.
Wrapper
기본형 대응 래퍼 클래스
기본형 대응 래퍼 클래스
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Char
boolean Boolean
BigInteger
Long보다 큰 숫자가 필요하다면 BigInteger를 사용하면 된다.
하지만 일반적인 오퍼레이터 연산자는 사용할 수 없다.
.add(), .subtract(), .multiply(), .divide() 메소드가 제공이 되고 매개변수 또한 BigInteger를 받는다.
Reference type
object 클래스를 상속하는 모든 클래스로 클래스, 인터페이스, 배열, 열거(enum) 등이 있다.
데이터 크기가 정해져 있지 않아 변수에 할당될 때 값이 변수에 직접 할당될 수 없다.
변수에는 값이 저장된 메모리 블럭의 주소를 저장하며 값은 heap에 값을 저장한다.
예시로는 Array, enum, Class, Interface 등이 있다.
String Class
이 클래스는 참조형에 속하지만 기본적인 사용은 기본형처럼 사용한다.
불변하는immutable 객체이다.
String 클래스에는 값을 변경해주는 메소드들이 존재하지만 해당 메소드를 통해 데이터를 바꾼다 해도 새로운 String 클래스 객체를 만들어내는 것이다. ex) replace, substring 등
일반적으로 기본형 비교는 == 연산자를 사용하지만 String 객체간의 비교는 .equals() 메소드를 사용해야 한다.
'면접 질문' 카테고리의 다른 글
백엔드 면접 질문 - 카프카 (1) | 2023.08.19 |
---|---|
백엔드 면접 질문 - 인덱스 (0) | 2023.04.29 |
ChatGPT에게 물어본 백엔드 면접 예상 질문과 답변 (0) | 2023.02.23 |
Vector, ArrayList, LinkedList (0) | 2020.10.06 |
접근지정자 (0) | 2020.10.06 |
- Total
- Today
- Yesterday
- BAEKJOON
- 객체지향
- 프로그래머스
- 코테
- 클린 코드
- programmers
- 디자인 패턴
- AWS
- 디자인패턴
- 테라폼
- 백준
- MSA
- Spring Boot
- 정규표현식
- C++
- node.js
- JPA
- 알고리즘
- Algorithm
- Spring
- Kotlin
- 이팩티브 자바
- Olympiad
- 클린 아키텍처
- kotest
- BOJ
- Effective Java
- kkoon9
- Java
- 이펙티브 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |