자바의 타입

jisoo·2022년 7월 5일
0

타입

목록 보기
1/1
post-thumbnail

타입이란 무엇일까? 🤔

타입은 어떤 값의 유형 및 종류를 의미하며, 타입에 따라 값이 차지하는 메모리 공간의 크기와, 값이 저장되는 방식이 결정된다.

  • 값이 차지하는 메모리 공간의 크기

    • ex ) 정수형 타입의 데이터는 4byte, 문자형 타입의 데이터는 1byte
  • 값이 저장되는 방식

    • 저장하고자 하는 값을 그대로 저장하는 기본 타입
    • 기본 타입은 stack에 실제 값을 저장
      • 정수 타입 (byte, short, int, long)
      • 실수 타입 (float, double)
      • 문자 타입 (char)
      • 논리 타입 (boolean)
    • 저장하고자 하는 값을 임의의 메모리 공간에 저장한 후, 그 메모리 공간의 주소를 저장하는 참조타입
      • 객체의 주소를 저장, 8개의 기본형을 제외한 나머지 타입
      • 참조 타입은 객체를 저장하는 것처럼 Heap에 실제값을 저장하고 해당 주소를 stack에 저장하는 방식을 사용한다.
      • cf ) String은 참조 타입에 해당한다. 실제 문자열 값을 가지고 있는 것이 아니라, 문자열이 존재하는 메모리 공간 상의 주소값을 가지고 있다.
        • 하지만 문자열을 출력해보면 주소값이 아닌 문자열의 내용이 출력된다.
        • 이유는 String 타입의 변수를 참조하면 String 클래스의 메서드인 toString() 이 자동으로 호출되어 String 타입의 변수가 저장하고 있는 주소값에 위치한 String 인스턴스의 내용을 문자열로 변환해주기 때문이다.



Reference type (참조타입)

참조타입은 클래스 타입 또는 사용자 정의형 타입으로도 불리며 객체 연결을 위해 사용된다.

Car car = new Car("jisoo", red);
  • 맨 처음 Car는 클래스 타입, 레퍼런스 타입이다.
  • 소문자 c로 시작하는 car는 레퍼런스 변수명이다.
profile
Backend Developer 👩🏻‍💻

0개의 댓글