문서의 이전 판입니다!
자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다.
false
\u0000
0
0
0.0F
0.0
float
의 정밀도는 7자리로 10진수로 7자리의 수를 오차없이 저장할 수 있다는 의미다. 그렇기에 사용할 변수의 값의 범위가 7자리를 넘는다면 정밀도를 고려해 double
타입을 사용해야 한다.
자료형은 크게 '기본형(Primitive Type)' 과 참조형(Reference Type)으로 나눌 수 있다.
Java.lang.Object
를 상속받을경우 참조형이 된다. 즉, 기본형을 제외하고는 참조형이라 생각해도 된다.
좀 더 얘기하자면 기본형은 메모리영역의 스택영역에 실제 값들이 저장된다면, 참조형은 실제 인스턴스는 힙영역에 생성되있고, 그 영역의 주소를 스택영역에서 저장하고 있다고 보면 된다.
💡 그 자체로 값을 의미하는 것
리터럴은 데이터 그 자체를 의미한다.
우측 그림1
에서 2020
이 리터럴이다.
즉, 2020, 123, 3.14, “ABC” 와 같은 값들을 리터럴이라고 하는데 본래 이러한 값들은 상수라 불러야 하지만 프로그래밍에서는 상수를 '값을 한 번 저장하면 변경할 수 없는 저장공간'으로 정의했기 때문에 이와 구분하기 위해서 리터럴이라는 용어를 사용한다.
그러니 리터럴은 기존에 알고있던 상수
의 다른 이름이라고 볼 수 있다.
🤔 인스턴스는 리터럴이 될 수 있을까?
인스턴스안의 값의 불변성(Imutable) 이 보장된다면 객체 리터럴이 될 수 있다.(불변 클래스(imutable class)) 하지만 이렇게 불변성을 보장하도록 설계된 클래스를 제외하고 보통의 인스턴스는 동적으로 사용되고 내용이 변할 수 있기 때문에 객체 리터럴이 될 수 없다. 💬Ex: Java.lang.String 이나 java.awt.Color 같은 클래스는 내용이 변해야 하는 상황이면 새로운 객체를 만들어 내용의 불변성이 보장되기에 객체 리터럴이라 부른다.