이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 16754|회답: 0

[출처] 자바에 내장된 기본 데이터 타입

[링크 복사]
게시됨 2015. 4. 7. 오후 4:19:13 | | |
데이터 타입은 메모리 위치의 추상적 표현입니다. 프로그래머는 프로그래밍 언어로 정의된 데이터 타입, 외부 라이브러리로 정의된 데이터 타입, 프로그래머가 정의한 데이터 타입을 활용할 수 있습니다. 많은 프로그래밍 언어는 특정 컴퓨터 유형과 워드 및 정수 데이터 타입 크기와 같은 특정 컴파일된 데이터 타입 속성 구현에 의존합니다. 반면, 자바의 가상 머신은 내장 데이터 타입의 모든 측면을 정의하는 역할을 합니다. 즉, Java 가상 머신(JVM)이 아무리 저수준 운영체제를 실행하든 데이터 타입의 속성은 정확히 동일합니다.

단순 데이터 타입
단순 데이터 타입은 더 이상 단순화할 수 없는 내장 데이터 타입으로, 프로그래밍 언어로 정의되며 실수, 문자, 정수를 나타냅니다. 더 크고 복잡한 데이터 타입은 단순한 데이터 타입의 조합으로 정의할 수 있습니다. 대부분의 경우, 단순한 데이터 타입은 하드웨어에 대응하는 역할을 합니다. 예를 들어, 정수형 단순 타입은 때때로 32비트 하드웨어 레지스터에 저장됩니다. 자바는 숫자와 문자를 나타내는 여러 단순 데이터 타입 클래스를 제공합니다.

단순 데이터 타입은 일반적으로 실수, 정수, 문자, 불리언 등 다음 범주로 나뉩니다. 이 범주들은 다시 다양한 단순한 유형을 포함합니다. 예를 들어, 자바는 두 가지 단순 타입인 float와 double을 정의하며, 이들은 실수 범주에 속하고, 나머지 네 가지 단순 타입인 바이트, 쇼트, 정수, 롱은 모두 정수 범주에 속합니다. 또한 캐릭터 유형에 귀속되는 단순 타입인 char도 있습니다. 불리언 범주에는 단 하나의 단순한 유형만 존재합니다: 불리언입니다. 표 A는 자바의 단순 데이터 타입을 상세히 설명합니다.

표 A Java 단순 데이터 타입
단순 타입 크기 범위/정밀도
float 4바이트 32비트 IEEE 754 단정밀도
더블 8바이트 64비트 IEEE 754 배정밀도
바이트 1 -128에서 127
- 짧은 2바이트 - 32,768에서 32,767
정규 4바이트 - 2,147,483,648에서 2,147,483,647
긴 8바이트 - 9,223,372,036,854,775,808에서 9,223,372,036, 854,775,807
유니코드 전체 문자 집합의 2바이트 char
불리언 1비트 참 또는 거짓

자바의 단순 데이터 타입
Java의 모든 수치 변수는 서명되어 있으며, Java 데이터 타입 간 임의의 변환을 허용하지 않습니다. 수치 변수 간에서는 타입 변환만 가능합니다. 예를 들어, 불리언은 다른 데이터 타입으로 변환할 수 없고, 다른 데이터 타입은 불리언으로 변환할 수 없습니다.

자바의 단순한 데이터 타입이 정확히 정의되어 있고 직접 메모리 접근이 허용되지 않기 때문에, 자바 언어에서는 연산자 크기가 제거됩니다.

Java의 단순한 데이터 타입은 객체가 아닙니다. Java 단순 데이터 타입에 대해 객체 지향 접근법을 취하려면 먼저 클래스로 캡슐화해야 합니다.

패키지
자바는 또한 바이트, 쇼트, 불리언, 문자, 정수, 더블, 플로트, 롱과 같은 내장 캡슐화 클래스를 제공합니다. 이 래퍼 클래스들은 매우 직관적이고 실용적인 접근법을 제공합니다. 예를 들어, Byte, Float, Integer, Long, Double 클래스 모두 doubleValue() 메서드를 가지고 있어서 클래스 인스턴스에 저장된 값을 Double 타입으로 변환할 수 있습니다. 또한, 모든 캡슐화된 클래스는 주어진 문자열을 해당 단순 타입으로 변환하는 정적 valueOf(Strings) 메서드를 제공합니다. 목록 A의 코드는 이러한 캡슐화 클래스의 일부 사용을 보여줍니다.

간단한 데이터 타입 초기화
자바에서는 단순 데이터 타입이 클래스의 멤버 변수로 선언되면 명시적으로 선언되지 않는 한 자동으로 기본값으로 초기화됩니다. 단순 데이터 타입은 자동으로 초기화되지 않은 로컬 변수를 선언하여 컴파일러가 다음과 같은 오류 메시지를 보내는 메서드입니다: "변수 x가 초기화되지 않았을 수 있습니다." 표 B는 자바에서 단순 데이터 타입의 기본 값을 정의합니다.
표 B Java 단순 데이터 타입 기본값

기본값
불리언
false
바이트
0
단편
0
지능
0

0

′/u0000′
플로트
0.0
더블
0.0

Java 단순 데이터 타입의 기본 기본값
목록 B의 코드는 모든 Java 단순 데이터 타입이 초기화 클래스의 멤버 변수를 사용한다는 것을 보여줍니다. 이 예시는 또한 초기화 클래스의 생성자에서 int 변수가 로컬로 선언됨을 보여줍니다. 위 코드를 수정하지 않으면 컴파일러가 위 코드를 컴파일 시 오류를 발생시킵니다.
문제를 일으킨 코드(초기화되지 않은 변수를 참조해 오류를 일으키는 코드)가 삭제되거나 주석 처리된 후, 프로그램이 성공적으로 컴파일되고 실행되면 다음과 같은 결과가 표시됩니다:

byte: 0
short: 0
int: 0
long: 0
float: 0.0
double: 0.0
char: 0
boolean: false
다음 코드에서 보듯이 멤버 변수를 다른 가치로 명시적으로 초기화할 수도 있습니다:
바이트 b = 5;
쇼트 s = 123;
int i = 1234;
롱 l = 12345;
플로트 f = 123.45f;
더블 D = 12345.678;
char c = 'A';
불리언 z = 참;

요약
자바는 간단한 데이터 타입 전체를 정의합니다. 또한 자바는 하드웨어와 컴파일러 의존성을 제거하여 프로그래머들이 다른 문제에 집중할 수 있게 합니다




이전의:JDK, JRE, JVM 차이점 및 연결
다음:포토샵이 실행 중입니다. 이 제품을 삭제 후 재설치해 주세요. 오류 코드 16은 어떻게 해결하나요?
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com