Skip to main content

Command Palette

Search for a command to run...

7.Java 기본 타입

Updated
3 min readView as Markdown
T

안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.

기본 타입

자바가 제공하는 기본 타입은 8개가 있습니다.

정수 타입실수 타입논리 타입
int , byte, char , long , shortfloat, doubleboolean
타입메모리사용크기저장되는 값의 허용 범위
byte1byte/8bit-2^7 ~ (2^7-1) / -128 ~ 127
short2byte/16bit-2^15 ~ (2^15-1) / -32.768 ~ 32.767
char2byte/16bit0 ~ (2^16-1) / 0 ~ 65535
int4byte/32bit-2^31 ~ (2^31-1)/ -2.147.483.648~ 2.147.483.647
long8byte/64bit-2^63 ~ (2^63-1) / -9.223.372.036.854.775.808 ~ 9.223.372.036.854.775.808

각 타입에 저장되는 메모리 사용 크기를 알고 있어야 오류없이 잘 사용할수 있습니다.
예를들어서 2.147.483.647를 넘는 숫자를 변수에 넣어야하거나 출력할때는
long 타입을 사용해야 합니다.

char 타입은 문자를 사용할때 쓰는 타입입니다.
char var1 = 'A' 라고 선언하면 //10진수 65(유니코드) 의 값을 가집니다.
ex)

char var1 = 'A';
int var2 = 'A';
System.out.println(var1);
System.out.println(var2);

이렇게 코드를 작성하면
A를 출력하고
65를 출력합니다.

byte와 short 그리고 Int , long 의 범위를 잘 확인하고 사용해야 합니다.

실수 타입

float과 double은 실수 리터럴을 저장할 수 있는 타입 입니다.
메모리 사용 크기와 허용 범위는 이렇게 됩니다.

타입메모리사용크기저장되는 값의 허용 범위(양수기준)정밀도
float4byte/32bit(1.4 10^-45) ~ (3.4 10^38)7자리
short8byte/64bit(4.9 10^-324) ~ (1.8 10^308)15자리

double이라는 이름은 float 타입보다 약 2배의 정밀도를 갖는다는 의미에서 붙여진 것이라고 합니다

논리 타입

Java에서는 참과 거짓을 의미하는 논리 리터럴로 true와 false를 사용합니다.
논리 리터럴은 1byte 크기의 boolean 타입 변수에 저장할 수 있습니다.

boolean stop = true;
boolean state = false;

주로 상태값에 따라 조건문이나 제어문의 흐름을 변경하는 데 사용합니다.

String 타입(클래스 타입)

자바에서 큰따옴표로 감싼 문자들은 문자열이라고 부릅니다.
작은따옴표는 문자 리터럴을, 큰따옴표는 문자열 리터럴을 구별하는 기호로 사용됩니다.
문자열을 변수에 저장하고 싶으면 String 타입을 이용합니다.

타입 변환

두 변수의 타입이 동일할 경우, 한쪽 변수값을 다른 쪽 변수에 복사해서 저장할 수 있습니다.
만약 두 변수의 타입이 다르면 값의 저장이 가능할 수도 있고 그렇지 않을 수도 있습니다.

a 변수에 저장된 값을 b 변수에 복사해서 저장하는 코드를 작성해보겠습니다.

byte a = 10;
int b = a;

byte 타입의 값이 int 타입의 값으로 변환되었습니다.
Java에서는 이것을 타입 변환이라고 합니다.
Java의 타입 변환은 기본적으로 두 가지 방식으로 이루어집니다:

자동 타입 변환: Java는 작은 크기의 데이터 타입을 더 큰 크기의 데이터 타입으로 자동으로 변환합니다.
예를 들어, intlong으로 변환할 때
ex)
int myInt = 100; long myLong = myInt; // 자동 타입 변환

강제 타입 변환
큰 데이터 타입을 작은 데이터 타입으로 변환할 때, 데이터 손실이 발생할 수 있으므로 명시적으로 변환해야 합니다.
예를 들어, longint로 변환할 때:
ex)
long myLong = 100; int myInt = (int) myLong; // 강제 타입 변환

이렇게 타입 변환을 통해 다른 타입의 변수에 값을 할당할 수 있습니다. 자동 타입 변환은 데이터 손실이 없지만, 강제 타입 변환은 데이터 손실이 발생할 수 있으므로 주의해야 합니다.

2 views

More from this blog

서브넷 이해하기

서브넷 IPv4 IPv4로 보자면 데이터 전송 방식은 유니캐스트 멀티캐스트 브로드 캐스트다. 32bit 숫자로 구성되어 있다. 일반적으로 4개의 10진수로 표현된다. 데이터 전송 방식 데이터 전송 방식설명 유니캐스트한 대의 컴퓨터가 다른 한 대의 컴퓨터에게 데이터를 보내는 방식 멀티캐스트한 대의 컴ㅂ퓨터가 특정 그룹에 속한 여러 컴퓨터에게 ㄷ이터를 보내는 방식 브로드캐스트한 대의 컴퓨터가 같은 네트워크에 있는 모든 컴퓨터...

Aug 5, 20242 min read3
서브넷 이해하기

네트워크 계층

네트워크 계층 네트워크는 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다. OSI 7계층 (지겹지만 반복) OSI 7계층은 국제 표준화 기구인 ISO(International Standardization Organization)에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다. 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기...

Jul 29, 20243 min read3
네트워크 계층

메모리 단편화

메모리 단편화 메모리 단편화란 분할된 주기억장치에 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상이다. 유형으로는 내부 단편화와 외부 단편화가 있다. 내부 단편화 내부 단편화 개념 내부 단편화는 분할된 공간에 프로세스를 적재한 후 남은 공간이다. 내부 단편화는 고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 메모리 단편화다. 해결 방안설명 슬랩 할당자 (Slab Allocator)페...

Jul 20, 20241 min read

2024.07.13 애플리케이션 테스트 수행

애플리케이션 테스트 수행 IDE 도구 개념 IDE(Integrated Development Environment) 도구는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다. 기존에는 컴파일러, 텍스트 편집기, 디버거를 따로 사용했으나 통합 개발환경을 통해 하나로 묶은 대화형 인터페이스를 제공한다. IDE 도구의 기능 IDE 도구는 다양한 기능을 통합한 형태...

Jul 12, 20242 min read2
2024.07.13 애플리케이션 테스트 수행
J

Java 백엔드 및 풀스택 개발

111 posts

안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.

E-Mail : ji4971@naver.com