※출처
https://fastcampus.co.kr/dev_online_javaend
https://sublivan.tistory.com/4
https://jktech.tistory.com/13?category=887327
기본 자료형(Primitive type)
자바 컴파일러에 의해 해석되는 자료 형태를 기본 자료형이라고 한다.
- 총 8가지의 기본형을 미리 정의하고 제공한다.
- 사용하기 전에 선언돼야 한다.
- OS(운영체제)에 따라 자료형의 길이가 변하지 않는다.
- 비 객체 타입이라 null을 가질 수 없으며 기본형에 null을 넣으려면 Wrapper Class를 사용해야 한다.
- 논리형 : boolean
- 문자형 : char
- 정수형 : byte, short, int, long
- 실수형 : float, double
|
1
2
3
4
5
6
7
8
9
10
11
|
boolean choose1 = true; // 1bit / true or false
char text = 'a'; // 2byte / 0 ~ 65535
byte by = 1; // 1byte / -128 ~ 127
short sh = 1; // 2byte / -32768 ~ 32767
int num = 1; // 4byte / - 2 ^ 31 ~ 2 ^ 31 - 1
long lNum = 100000000L; // 8byte / - 2 ^63 ~ (2 ^ 63 - 1)
float fl = 1.1f; // 4byte / - 3.4E38 ~ 3.4E38
double du = 1.2d; // 8byte / - 1.7E308 ~ 1.7E308
|
cs |
참조 자료형(Reference type)
JAVA에서 기본형을 제외한 타입은 모두 참 조형이다. 참조형은 JAVA에서 최상인 java.lang.Object 클래스를 상속하는 모든 클래스를 말함
- null이 존재한다.
- 문법상 문제는 없지만 런타임 에러가 발생한다.
ex) 객체나 배열을 null로 받으면 NullPointException이 발생한다. - new로 생성하면 메모리 영역 Heep에 생성이 되고, Garbage collector가 메모리를 해체한다.
- Heap 메모리에 생성된 인스턴스는 메서드나 각종 인터페이스에서 접근하기 위해 JVM의 Stack 영역에 존재하는 Frame에 일종의 포인터인 참조값을 가지고 있어 이를 통해 인스턴스를 핸들링한다.
- 클래스형으로 변수를 선언
- 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름
- 참조 자료형을 사용할 때는 해당 변수에 대해 생성하여야 함
(String 클래스는 예외적으로 생성하지 않고 사용할 수 있음 =>String a = "";)
- class type (클래스)
- interface type (인터페이스)
- array type (배열)
- enum type (열거)
String class
- 참조형에 속하지만 기본형처럼 사용
- 불변 객체이다.
- 값을 변경해주는 메서드들이 존재하지만 데이터를 바꾸면 새로운 String 클래스 객체를 생성
- String 객체 간의 비교는. equals() 메서드를 사용
'Java > 객체지향 프로그래밍' 카테고리의 다른 글
| JAVA / 캡슐화(encapsulation) (0) | 2022.06.15 |
|---|---|
| JAVA / 접근 제어 지시자(access modifier)와 정보은닉(infomation hiding) (0) | 2022.06.13 |
| JAVA / 생성자 (0) | 2022.06.07 |
| JAVA / 함수와 메서드 (0) | 2022.06.03 |
| JAVA / 객체와 객체 지향 프로그래밍 (0) | 2022.06.02 |