Search

반응형

'java primitive data types'에 해당되는 글 1건

  1. 2019.06.15 [Java_Tutorial]8강-자바 코딩, 원시데이터 타입 [Primitive Data Types, 자바 프로그래밍 기초 , 자바 튜토리얼]
반응형

[Java_Tutorial]8-자바 코딩, 원시데이터 타입 [Primitive Data Types, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼, 자바 코딩]

2019/06/13 - [Software/Java] - [Java_Tutorial]7강-자바 언어 배우기, 패키지(Package)란? [객체지향 프로그래밍 개념, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]7강-자바 언어 배우기, 패키지(Package)란? [객체지향 프로그래밍 개념, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 2019/06/10 - [..

tiboy.tistory.com

지금까지 객체지향 프로그래밍의 개념에 대해 알아보았다.이제는 본격적으로 자바(java) 코딩을 위한 프로그래밍 언어 또는 문법을 알아보자. 우선 이번 포스팅은 자바의 원시 데이터 타입(Primitive Data Types) 에 대해 알아본다.

자바에서는 fieldvariable 둘 다 사용한다. 자바 프로그래밍 언어에서 정의하는 다양한 변수들에 대해 우선 정리해 본다.

Instance Variables (Non-Static Fields) : 객체의 상태 값(클래스 필드) static 키워드가 없는 필드이다. 클래스의 각 인스턴스 별로 유일한 각각의 값을 가지고 있기에 당연 인스턴스 변수이다. 클래스의 객체를 인스턴스화 했을 때 인스턴스 변수는 인스턴스 별로 값을 공유하지 않고 독립적으로 가지고 있다는 의미이다.

Class Variables (Static Fields) : static 키워드를 붙여서 만든 클래스 필드로 같은 클래스에서 인스턴스화 했을 경우 여러 개의 객체가 만들어져도 값은 하나로 공유된다. Final 키워드를 붙이면 수정도 불가능하다.

Local Variables : 메서드 안에 생성되는 필드로 메서드의 {} 안에 정의한다. 특별히 붙이는 키워드는 없고 데이터 타입만 붙이면 된다. 메서드 내부에서 선언된 만큼 밖에서는 접속이 불가능하다. 지역변수라고도 한다.

Parameter : 메서드 선언할 때 입력 받는 변수를 파라미터라고 한다. 파라메터는 변수라고 하지 필드라고 하지 않는다.

원시 데이터 타입 (Primitive Data Types)

자바(Java) 프로그래밍 언어에서는 모든 변수들은 사용하기 전 반드시 먼저 선언을 해야 한다. 즉 미리 선언하지 않은 변수는 사용할 수 없다는 이야기다. 변수의 타입과 이름을 지정해야 한다.

int name = 1;

“name”이라는 변수가 있고 숫자형 데이터이며 초기화 값은 1이라는 의미이다. 자바 프로그래밍 언어는 총 7가지 원시 데이터 타입을 지원한다. 원시 데이터 타입은 미리 약속된 키워드로 지정해서 미리 정의되어 있다. 그럼 8가지 원시 데이터 타입(Primitive Data Types)에 대해 알아본다.

우선 2의 보수타입이라는 용어가 나오는데 그에 대한 설명을 먼저 해본다. 컴퓨터는 기본적으로 2진수를 사용한다. 01로 데이터를 저장하고 처리한다. 2의 보수 타입이란 2진수의 데이터 값의 음수 값을 표현할 때 컴퓨터에서 사용하는 타입이다. 예를 들어본다.

정수 22진수로 표현하면 0010이다. 여기서 -2로 바꾸기 위해 0010의 값을 01을 바꾸면 1101이 된다. 이것이 1의 보수이다. 하지만 우리는 2의 보수가 필요하다. 2의 보수는 1의 보수에 1을 더하면 된다. 11011을 더하면 1110이 된다. 그럼 컴퓨터 연산에서 필요한 -2를 표현하는1110이 된다.

우선 가장 작은 사이즈인 “byte”이다. Byte 타입은 8비트의 부호가 있는 2의 보수 타입이다. 최소 -128에서 최대 127까지의 값으로 사용할 수 있다. 메모리 절약에 유용하게 사용할 수 있다.

다음은 “short”16비트의 부호가 있는 2의 보수 타입이다. 최소 -32,768에서 최대 32,767 값으로 사용할 수 있다. short 도 byte처럼 메모리 절약에 효율적이다.

다음은 “int”로 기본적으로 사용하는 타입으로 32비트의 부호가 있는 2의 보수 타입이다. 최소 -2147483648에서 최대 2147483648이다. 사실 int 형을 가장 많이 사용한다. Java SE8 이후 버전부터는 int를 부호가 없는 타입으로 사용할 수 있게 되었다. 최소 0부터 최대 2^32-1만큼 사용 가능하다. 부호가 없는 int 데이터 타입을 사용하기 위해 Integer Class를 사용하면 된다.

다음은 “long”64비트의 부호가 있는 2의 보수 타입이다. 최소 -2^63에서 최대 2^63-1만큼 사용 가능하다. Long 타입도 int처럼 부호가 없는 타입으로 사용할 수 있다.

다음으로 “float”타입으로 단일-정밀 32비트 IEEE 754 floating 포인트로 이 범위는 이 논의의 범위를 벗어난다고 한다. 추후 포스팅할 Floating point types, Formats, and Values 에서 자세히 다룰 것이다. 이 또한 byte와 short 에서 권고한 것처럼 메모리 절약이 필요하면 이 타입을 사용하면 된다. 주의 사항은 통화() 같은 정확한 값이 필요한 경우에 사용해서는 안된다. 그건 java.math.BigDecimal을 사용해야 한다.

 

 

다음으로 “double”인데 이중-정밀 64비트 IEEE 754 floating 포인트로 이 또한 범위는 이 논의의 범위에서 벗어난다고 되어있다. 이 또한 float처럼 추후 포스팅할 Floating point types, Formats, and Values 에서 자세히 다룰 것이다. 이 타입은 기본적으로 실수형 타입에서 사용하며 통화() 같은 정밀한 값에서는 사용하지 않는다.

다음은 “Boolean”타입으로 오직 두 개의 값만 가진다. 바로 “true”“false”이다. 한 개의 bit 값 정보를 대신하며 size를 정의하지 않는다.

마지막으로 “char”로 단일 16비트 유니코드 값이다. 최소 \u0000(또는 0)에서 최대 \uffff (65,535)이다.

위의 8개 원시 데이터 타입(Primitive data type) 외에 지원하는 게 또 있다. 바로 java.lang.String 클래스이다. Double quotes(“)로 문자열을 둘러싸면 자동으로 Stirng 객체가 생성된다.

String a = “HelloWorld”;

한 번 생성되면 객체의 값은 바뀌지 않는다. 이 부분이 중요한데 a = “No” ; 로 바꾸면 되는거 아닌가 생각할 수 있다.

String a = “HelloWorld”;

a = “No”;

위의 s를 출력하면 “No”가 나온다. 그럼 값이 변경 되었다고 생각할 수 있지만 그렇지 않다. 추후 포스팅할 Simple Data Object 에서 더 자세히 설명할 것이다.

반응형