☕JAVA/🐣 강의 [JAVA]

[JAVA][기초] 클래스의 이해3 - 필드의 정의 (2) Data Type 의 이해

디카페인라떼 2022. 9. 30. 00:00

[기초] 시리즈는 본강의를 수강후 정리한 글들 입니다.

Java for Beginner - YouTube

 

Java for Beginner

[교재 link] https://github.com/namoosori/java-for-beginner/tree/master/doc Java for Beginner 강의에서 다루는 내용은 다음과 같습니다. - Java 개요 : Java 언어가 어떤 언어이고 Java 언어를 이용해 프...

www.youtube.com


Data ?
  • 데이터들을 잘 관리해서 원하는 로직을 통해서 특정한 정보를 만들어내는 것이 우리가 프로그램을 만들어 내야하는 중요한 이유 중 하나
  • 프로그램을 작성할 때에는 데이터들을 어떻게 관리할 건지도 잘 알고 있어야함.
    •  프로그램 언어 마다 데이터를 다루는 방식이 크게 두가지로 나뉨.
    •  데이터를 관리하는 방법이 다른 것.
      •  강한 타입의 언어 Strongly Typed Language = static typed: 자바, C언어
        •  데이터들의 타입을 명확히 하고 그 타입이 변경되지 않음.
        • 자바는 자료형 검사가 엄격한 언어이므로, 모든 변수는 자료형을 갖음.
        • 자료형에 따라 할당하는 메모리 크기가 달라짐.
      •  느슨한 타입의 언어 Losely Typed Language = dynamic typed : 자바스크립트
        •  타입의 제약이 강하지 않기 때문에 특정 변수를 선언했을 때 해당 변수에 꼭 동일한 타입을 저장하지 않아도 됨.
  •  자바의 데이터 타입 구분
    • 기본자료형 Primitive type
      •  정수형 : int, short, long, byte
      •  실수형 : float, double
      •  문자형 : char
      •  불린형 : boolean
    •  참조자료형 Reference 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 키워드를 붙이면 한번 초기화 후 그 값을 변경할 수 없음.
      • 왜 사용하는가?
        • 변수명을 마치 리터럴 상수처럼 사용하고 싶을 때 사용함.

참조 자료형 (Reference Type)

  • 자바의 메모리구조를 알아야 함. 3가지가 있음.
    • 각각의 영역에 어떤 데이터들이 들어가는지와 영역의 특징에 대해서 알아야함.
      • static
      • stack
        • 인스턴스 객체에 대한 *참조 정보*가 저장됨.
        • 어떤 객체가 heap에 어디에 있는지에 대한 참조정보를 담기 위한 것.
      • heap
        • 클래스를 인스턴스화해서 만들어낸 객체들은 모두 여기에 저장하며 그 객체에 대한 *정보*를 레퍼런스 변수로 담음.
        • 어떤 데이터들을 할당하기 위해서는 먼저 할당을 받아야함.
        • 사용이 종료되면 할당이 해제되어야함. =>Garbage Collectior에 의해 자동적으로 수행됨
  • 참조자료형을 갖는 변수는 특정 객체의 참조 정보를 저장.
  • 기본 데이터 타입 이외의 타입을 의미
  • 참조 자료형 변수는 4byte의 크기를 가지며 인스턴스 객체에 접근할 수 있는 정보를 가짐.
  • 객체의 삭제는 객체가 더이상 사용되지 않을 때 자바의 Garbage Collectior에 의해 자동적으로 제거됨.

 


2022.08.06 - [JAVA] - [JAVA] 자료형 - Boolean

 

[JAVA] 자료형 - Boolean

참고사이트 정의 참 또는 거짓의 값을 갖는 자료형. 대응 되는 값은 true 혹은 false로만 가능 int i = 3; boolean isOdd = i % 2 == 1; System.out.println(isOdd); // true 출력

wearegolden.tistory.com

2022.08.08 - [JAVA] - [JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static

 

[JAVA] 객체지향 / 클래스 Class /메쏘드 Method / Static

2022.06.20 - [준비운동/생활코딩 자바] - 6일차 패키지/클래스/인스턴스/상속 JAVA는 객체지향 프로그래밍이다. 객체 지향 프로그래밍 (OOP) 프로그램을 구성하는 요소는 객체이며 이것이 상호작

wearegolden.tistory.com

2022.08.09 - [JAVA] - [JAVA] 데이터타입 - 기본형 타입 / 참조형 타입

 

[JAVA] 데이터타입 - 기본형 타입 / 참조형 타입

데이터 타입은 기본형 타입과 참조형 타입 두 가지로 나뉜다. 기본형타입 (클래스가 될 수 없음) 가장 기본이 되는 데이터 타입으로써 정수형, 실수형, 문자형, 불린형을 의미한다. 논리형 = 불린

wearegolden.tistory.com