[기초] 시리즈는 본강의를 수강후 정리한 글들 입니다.
Data ?
- 데이터들을 잘 관리해서 원하는 로직을 통해서 특정한 정보를 만들어내는 것이 우리가 프로그램을 만들어 내야하는 중요한 이유 중 하나
- 프로그램을 작성할 때에는 데이터들을 어떻게 관리할 건지도 잘 알고 있어야함.
- 프로그램 언어 마다 데이터를 다루는 방식이 크게 두가지로 나뉨.
- 데이터를 관리하는 방법이 다른 것.
- 강한 타입의 언어 Strongly Typed Language = static typed: 자바, C언어
- 데이터들의 타입을 명확히 하고 그 타입이 변경되지 않음.
- 자바는 자료형 검사가 엄격한 언어이므로, 모든 변수는 자료형을 갖음.
- 자료형에 따라 할당하는 메모리 크기가 달라짐.
- 느슨한 타입의 언어 Losely Typed Language = dynamic typed : 자바스크립트
- 타입의 제약이 강하지 않기 때문에 특정 변수를 선언했을 때 해당 변수에 꼭 동일한 타입을 저장하지 않아도 됨.
- 강한 타입의 언어 Strongly Typed Language = static typed: 자바, C언어
- 자바의 데이터 타입 구분
- 기본자료형 Primitive type
- 정수형 : int, short, long, byte
- 실수형 : float, double
- 문자형 : char
- 불린형 : boolean
- 참조자료형 Reference type : 하나의 형태이기 때문에 이후에 설명
- 기본자료형 Primitive type
정수 자료형 (Integer Type)
- 정수형은 소수부가 없는 수자를 나타내는 자료형
- 자바는 데이터의 표현범위에 따라 4가지의 정수형을 제공
- 각각의 메모리 크기를 가지고, 수의 범위를 갖는다.
- 정수 표현 (이런 식으로 한다.. 정도로만 알면 됨.)
- 정수 리터럴은 기본적으로 int 형을 표현하므로, long 타입을 명시하기 위해서는 접미사 L을 사용.
- 필요에 따라 접두사 prefix를 사용하여 8진수 0, 16진수 0x, 2진수0b 를 표현
- java7 부터는 정수 리터럴에 밑줄 _ 기호를 사용하여 자릿수를 구분할 수 있음. (컴파일러는 밑줄을 무시함.)
실수 자료형 (Floating-Point Type)
- 실수형은 소수부를 가진 숫자를 표현하는 자료형
- 자바는 데이터의 표현범위에 따라 2가지의 실수형을 제공
- 🚩정밀도 : 오차가 발생!
- 0과 1 사이에 실수 데이터는 무한대!인데 무한대의 값을 유한한 메모리 공간으로 표현해야함.
- 즉 최대한 크게 많이 표현 할 수는 있지만 오차가 있음.
- 오차를 최소화하기 위해서 실수형 데이터를 넣을 때에는 지수부, 가수부가 나뉘어 들어간다.
- 실수의 표현
- 실수 리터럴은 기본적으로 double형을 표현하므로 float 타입 값을 표현하려면 접미사 F를 사용해야함.
- double을 나타내는 접미사는 D이나, 생략 가능
문자 자료형 (Character Type)
- 문자형은 개별 문자를 나타내는 자료형
- Java는 유니코드라는 표준을 사용하며 2바이트로 문자를 표현.
- 유니코드의 문자체게는 2바이트(16비트)이므로 유니코드 표현법과 16진수 표기법은 같음.
논리자료형 (Boolean Type)
- 참과 거짓을 표현하는 자료형
- true : 참
- false : 거짓
상수 (Cnstants)
- 값이 변하지 않는 수
- 자바에서는 두가지 방식으로 구분 함.
- 리터럴 상수 Literals Constants : 155, -5, 'a', "Java Programming"
- 리터럴 상수도 그 타입에 따라 기본 타입이 정해져 있음.
- 155, -5와 같은 정수형 타입 : int type
- 0.5, 3.14 와 같은 실수 타입 : double type
- 리터럴 상수도 그 타입에 따라 기본 타입이 정해져 있음.
- 사용자 정의 상수 User Define Constants : final double PI = 3.141592;
- 사용자 정의 상수는 변수를 선원하고 여기에 final 키워드를 붙이면 한번 초기화 후 그 값을 변경할 수 없음.
- 왜 사용하는가?
- 변수명을 마치 리터럴 상수처럼 사용하고 싶을 때 사용함.
- 리터럴 상수 Literals Constants : 155, -5, 'a', "Java Programming"
참조 자료형 (Reference Type)
- 자바의 메모리구조를 알아야 함. 3가지가 있음.
- 각각의 영역에 어떤 데이터들이 들어가는지와 영역의 특징에 대해서 알아야함.
- static
- stack
- 인스턴스 객체에 대한 *참조 정보*가 저장됨.
- 어떤 객체가 heap에 어디에 있는지에 대한 참조정보를 담기 위한 것.
- heap
- 클래스를 인스턴스화해서 만들어낸 객체들은 모두 여기에 저장하며 그 객체에 대한 *정보*를 레퍼런스 변수로 담음.
- 어떤 데이터들을 할당하기 위해서는 먼저 할당을 받아야함.
- 사용이 종료되면 할당이 해제되어야함. =>Garbage Collectior에 의해 자동적으로 수행됨
- 각각의 영역에 어떤 데이터들이 들어가는지와 영역의 특징에 대해서 알아야함.
- 참조자료형을 갖는 변수는 특정 객체의 참조 정보를 저장.
- 기본 데이터 타입 이외의 타입을 의미
- 참조 자료형 변수는 4byte의 크기를 가지며 인스턴스 객체에 접근할 수 있는 정보를 가짐.
- 객체의 삭제는 객체가 더이상 사용되지 않을 때 자바의 Garbage Collectior에 의해 자동적으로 제거됨.
2022.08.06 - [JAVA] - [JAVA] 자료형 - Boolean
2022.08.08 - [JAVA] - [JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static
2022.08.09 - [JAVA] - [JAVA] 데이터타입 - 기본형 타입 / 참조형 타입
'☕JAVA > 🐣 강의 [JAVA]' 카테고리의 다른 글
[JAVA][기초] 메소드 Method , 오버로딩 Overloading (0) | 2022.10.04 |
---|---|
[JAVA][기초] 연산자 (0) | 2022.10.04 |
[JAVA][기초] 클래스의 이해2 - 필드의 정의 (1) 변수 Variable (0) | 2022.09.29 |
[JAVA][기초] 클래스의 이해 1 (0) | 2022.09.29 |
[JAVA][기초] 자바란? (0) | 2022.09.29 |