내일배움캠프 6일차 TIL - 변수(Variable)

2024. 4. 22. 20:56·⛺스파르타코딩클럽

240422

# 오늘 꼭 기억 해야 할 것!

1. 형변환 / 자료형 / 변수

2. 자료형에 대한 바이트 단위

오늘의 학습 

    ●  변수

    ●  자료형(데이터 타입)

    ●  형변환

변수 ( Variable : 변하는 수 )

자바에서 변수란 공간의 할당을 의미한다. 할당한 공간을 통해 원하는 값을 넣었다가 뺏다 다른 값을 넣었다가 뺏다

할 수 있는 것이다. 즉, 이런식으로 값이 변할 수 있기 때문에 변수라는 것이다. 예시 코드를 확인해보자.

// 자바에서 변수를 이용해 선언 및 초기화를 하는 방법이다.
int a = 1; // 변수 선언과 동시에 초기화
// int라는 정수형을 알려주는 자료형에 a라는 변수의 이름을 선언 후 값을 넣어주면 된다.
int a; // 변수 선언
a = 1; // 변수 초기화
System.out.println(a); // 출력문 결과 => 1

 

예시 코드와 같이 int(정수)를 의미하는 자료형을 붙혀주고 바뀌게 될 값들을 담아 줄 저장공간의 이름을 a라고 지어준다.

그리고 내가 넣고자 하는 값을 = 왼쪽의 1처럼 값을 넣어주는 형식이다.

이런식으로 값을 변수에 담아주면 a라는 이름을 통해 변수에 들어간 값의 연산 및 출력을 할 수 있게 된다.

자료형( data type )

앞에서 봤던 int는 정수를 나타내는 자료형이며, 이렇게 다양한 자료형을 통해 해당 변수에 들어가는 값의 데이터타입을

적어줘야 자바 소스 코드 상에서 에러가 안생긴다. 자료형(dataType)같은 경우에는 2가지로 나눌 수 있다.

1. 기본자료형 : char, byte, short, int, long, float, double, boolean ( 8개 )

char a = 'a'; // 문자 하나만을 저장하는 자료형
byte b = 127; // 1Byte(8bit) -128 ~ 127 범위 표현
short c = 12345; // 2Byte(16bit) -32,768 ~ 32,767 범위 표현
int d = 123456; // 4Byte(32bit) -2,147,483,648 ~ 2,147,483,647 범위 표현
long e = 123413435L; // 8Byte(64bit) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 범위 표현
float f = 0.123F; // 4Byte(32bit) 3.4E+/-38(7개의 자릿수) 범위 표현
double g = 0.123123213; // 8Byte(64bit) 1.7E+/-308(15개의 자릿수) 범위 표현

위의 코드 예시와 같이 자료형은 값의 범위를 가지며 해당 변수에 들어갈 값에 맞춰서 데이터타입을 지정해줘야한다.

 

2. 참조자료형 : String, Object 등등 다양함

 

형변환(Type Casting)

형변환은 자료형 즉, 데이터 타입의 변환을 말하는 것이다.

형변환은 앞에서 보았던 바이트의 크기의 따라 크게 2가지로 자동 형변환 & 강제 형변환으로 나뉜다.

// 자동 형변환
int intNumber = 1;
long longNumber = intNumber;
System.out.println(longNumber);
// 출력 결과 : 1

// 강제 형변환
int intNumber = 1;
short shortNumber = (short)intNumber;
System.out.println(shortNumber);
// 출력 결과 : 1

 

위의 코드의 예시를 살펴보면 int(4Byte) 크기의 변수 하나를 선언과 동시에 초기화를 진행 시켜주었다.

그 후 int(4Byte)의 변수를 long(8Byte)의 크기의 변수에 넣어 주었다. 문제 없이 결과 1이 출력된 걸 확인 할 수 있고

그 밑에는 int(4Byte)의 변수를  short(2Byte)의 크기의 변수에 넣어줄 때 (short)라고 명시를 한 것을 볼 수 있다.

이렇게 작은 타입에서 큰 타입으로 형변환 할때는 아무것도 명시하지 않아도 자동으로 형 변환이 되는 것을 자동형변환

그리고 큰 타입에서 작은 타입으로 형변환을 할때는 데이터타입을 명시해줘야 형변환이 된다. 이것이 강제형변환 이다.

 

알아두면 좋은 것

작은 크기의 타입이 큰 크기의 타입과 계산 될 때는 자동으로 큰 크기의 타입으로 형 변환이 된다.

 

# 오늘의 회고

공부하면서 든 생각은 자바에서 코드로 명시한 것들은 모두 이진수로 바뀌어 운영체제에 전달되게 되는것 같다.

자바에서 아스키코드를 이용해 숫자를 문자로 치환한 후 보여주는 느낌인 것 같다. 문자를 입력하면 문자를 자바에선

아스키코드를 이용해 숫자로 치환한 후 그 숫자를 이진수 계산법을 통해 0과 1로만 이루어진 숫자로 만들고 운영체제

에게 전달하는 것이 아닐까 하는 생각이든다. ( 이건 한번 나중에 질문해보면 좋을듯 싶다. )

'⛺스파르타코딩클럽' 카테고리의 다른 글

내일배움캠프 8일차 TIL - 컬렉션(Collection)  (0) 2024.04.24
내일배움캠프 7일차 TIL - 배열(Array)  (0) 2024.04.23
내일배움캠프 5일차 TIL( 웹 서비스 )  (0) 2024.04.19
내일배움캠프 4일차 TIL( SQL )  (0) 2024.04.18
내일배움캠프 3일차 TIL( Git - Branch/reset/revert/merge/rebase )  (1) 2024.04.17
'⛺스파르타코딩클럽' 카테고리의 다른 글
  • 내일배움캠프 8일차 TIL - 컬렉션(Collection)
  • 내일배움캠프 7일차 TIL - 배열(Array)
  • 내일배움캠프 5일차 TIL( 웹 서비스 )
  • 내일배움캠프 4일차 TIL( SQL )
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (143) N
      • 🎓방송통신대학교 (25) N
        • 🖥️컴퓨터과학과 (1)
        • 🌍유비쿼터스 컴퓨팅 (10) N
        • ⚙️컴퓨터의 이해 (11)
        • 🏛️세계의정치와경제 (3)
      • 📚Computer Science (0)
      • 🛠️Backend (2)
      • ☕Java (13) N
        • 📝Java Programming (12) N
        • 🧩Java Design Pattern (1)
      • 🌳Spring (9)
        • 🌱Spring Framework (6)
        • 🌱Spring Security (1)
      • ⚡Python (13)
      • 🛢️Database (0)
      • 🌿GitHub (1)
      • 🌐 Network (7)
        • 📜HTTP (7)
      • 🚀DevOps (1)
      • Algorithm Problem Solving (2)
      • Data Structure (1)
      • JavaScript (1)
      • ⛺스파르타코딩클럽 (65)
      • 잡담 (1)
      • 정리가 필요한 글 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    자바
    컴퓨터의 이해
    유비쿼터스 컴퓨팅
    방송대
    방통대
    파이썬
    함수
    유비쿼터스 컴퓨팅개론
    컴파일러
    세계화
    Java
    유비쿼터스
    스프링
    클라우드
    클래스
    spring
    Python
    다형성
    Spring Framework
    방송통신대학교
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
내일배움캠프 6일차 TIL - 변수(Variable)
상단으로

티스토리툴바