Java의 자료형

Dohyeon Kong·2024년 4월 2일
0

Java☕

목록 보기
1/12
post-thumbnail

Java 자료형

자료형의 종류

  • 정수 타입
  • 실수 타입
  • 논리 타입
  • 문자 타입
  • 문자열 타입

정수 타입

소수점 이하의 값을 가지지 않는 정수 값을 저장하는데 사용하는 자료형

Java가 제공하는 정수 타입의 종류가 무엇이 있을까?

  • byte
    8Bit(1Byte)의 크기로, -128 ~ 127까지의 정수값을 저장할 수 있다. 주로 작은 데이터를 저장하는데 사용되며 메모리를 매우 절약할 수 있다.
  • short
    16Bit(2Byte)의 크기로, -32,768 ~ 32,767까지의 정수값을 저장할 수 있다. byte 자료형보다 큰 범위의 정수값을 다룰 때 사용한다.
  • int
    32bit(4Byte)의 크기로, -2,147,483,648부터 2,147,483,647까지의 정수 값을 저장할 수 있다. 자바에서 가장 널리 사용되는 정수형 타입으로, 일반적인 정수 연산에 적합하다.
  • long
    64비트(8바이트) 크기로, -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 매우 큰 정수 값을 저장할 수 있다. 큰 정수를 다루어야 할 때 사용된다.

실수 타입

소수점 이하의 값을 포함하는 실수, 즉 분수나 소수를 저장하는데 사용하는 자료형

실수 타입을 사용하는 이유는?🤨

실수형 타입은 과학적 계산, 엔지니어링, 그래픽 처리 등 다양한 분야에서 필요로 하는 정밀한 수치 계산을 가능하게 하기 때문에 사용한다.

Java가 제공하는 실수 타입의 종류가 무엇이 있을까?

  • float
    32비트(4바이트)의 크기로, - 3.4 * 10^38 ~ 3.4 * 10^38까지의 실수값을 저장할 수 있다. 주로 작은 데이터를 저장하는데 사용되며 메모리를 매우 절약할 수 있다.
  • double
    64Bit(8Byte)의 크기로, - 1.8 * 10^308 ~ 1.8 * 10^308까지의 정수값을 저장할 수 있다. byte 자료형보다 큰 범위의 정수값을 다룰 때 사용한다.

Java의 실수타입은 부동 소수점 방식으로 메모리에 저장한다.

부동 소수점이란?

  • 부동소수점 수는 컴퓨터에서 실수를 근사하여 표현하는 방식을 사용한다.
  • 실수를 가수(mantissa)와 지수(exponent)로 분리하여 표현하며, 이를 통해 매우 작거나 큰 숫자를 효율적으로 나타낼 수 있다.

하지만, 부동소수점 표현의 근사적인 성질로 인해, 일부 실수는 정확히 표현되지 않을 수 있으며, 이는 계산에서 미묘한 오차를 일으킬 수 있다.


논리 타입

참(true)와 거짓(false)를 의미하는 논리 리터럴을 저장하는데 사용하는 자료형

Java가 제공하는 논리 타입의 종류가 무엇이 있을까?

  • boolean
    boolean 타입의 크기는 공식적으로는 정의되어 있지 않지만, 실제 메모리 사용량은 구현에 따라 달라질 수 있다.
    대부분의 자바 가상 머신(JVM)에서는 1바이트를 사용하지만, 배열의 경우 더 효율적으로 메모리를 사용할 수 있습니다.

문자 타입

하나의 문자를 작은따옴표('')로 감싼 문자 리터럴을 유니코드로 변환하여 저장하는데 사용하는 자료형

Java가 제공하는 문자 타입의 종류가 무엇이 있을까?

  • char
    16비트(2바이트) 크기를 가지며, 유니코드 UTF-16 인코딩을 사용한다.
    범위는 0에서 65,535까지의 유니코드 값을 표현할 수 있다.

문자열 타입

여러 개의 문자를 큰따옴표("")로 감싼 문자 리터럴을 유니코드로 변환하여 저장하는데 사용하는 자료형

Java가 제공하는 문자 타입의 종류가 무엇이 있을까?

  • String
    16비트(2바이트) 크기를 가지며, 문자의 시퀀스로, 한 개 이상의 문자로 구성될 수 있으며, 문자 데이터를 저장하고 관리하는 데 사용된다.
    String은 자바의 내장 데이터 타입이 아닌, 자바 라이브러리에 포함된 클래스입니다. 따라서 String을 사용할 때는 클래스의 인스턴스를 생성하는 방식으로 작업한다.

String의 특성

  • 불변성(Immutability): String 객체는 한 번 생성되면 그 내용을 변경할 수 없다.
    즉 문자열을 수정하는 것처럼 보이는 모든 연산은 실제로 새로운 String 객체를 생성합니다.
  • 리터럴 표현: 문자열 리터럴은 큰따옴표(" ")로 묶어서 표현한다.
    Ex: String greeting = "Hello, World!";
  • 메모리 저장: 자바에서는 문자열 리터럴을 문자열 상수 풀(String Constant Pool)에 저장하여 메모리 사용을 최적화한다.
    동일한 문자열 리터럴에 대한 참조는 모두 같은 메모리 주소를 가리킵니다.

정수형과 실수형은 왜 여러개로 나누어져서 사용하는 이유는?🤔

정수형(integer types)과 실수형(floating-point types) 자료형을 여러 가지로 나누어 제공하는 주된 이유는 메모리 사용과 연산의 효율성을 극대화해주기 때문이다.

각 자료형은 사용하는 메모리 양과 표현할 수 있는 값의 범위, 그리고 정밀도가 다르다. 그러므로 여러 자료형을 제공함으로써 개발자는 애플리케이션의 요구사항에 맞게 가장 적절한 자료형을 선택할 수 있다.

profile
천천히, 꾸준히, 그리고 끝까지

0개의 댓글