JAVA / 기본 자료형과 참조 자료형

아몬드봉봉·2023년 12월 12일
0

Java

목록 보기
4/17

기본 자료형

자바 컴파일러에 의해 해석되는 자료 형태를 기본 자료형이라고 한다.

  • 총 8가지의 기본형을 미리 정의하고 제공한다.
  • 사용하기 전에 선언돼야 한다.
  • OS(운영체제)에 따라 자료형의 길이가 변하지 않는다.
  • 비 객체 타입이라 null을 가질 수 없으며 기본형에 null을 넣으려면 Wrapper Class를 사용해야 한다.

논리형 : boolean
문자형 : char
정수형 : byte, short, int, long
실수형 : float, double

    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

참조 자료형

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() 메서드를 사용

출처

https://sublivan.tistory.com/4
https://jktech.tistory.com/13?category=887327
https://gyoogle.dev/blog/computer-language/Java/Primitive%20type%20&%20Reference%20type.html#abstract

profile
성장을 즐기는 백엔드 자바 개발자

0개의 댓글

관련 채용 정보