< 이공계전문기술연수> 6. Java 변수(3) 타입변환

2019. 8. 7. 01:08· 이공계전문기술연수/Java

현재 이공계 전문기술연수 과정에 대해 잠깐 말하면 3주 차를 진행 중이고 비전공자 기준으로 따라가기 힘들긴 하다.

오전 9시 30분부터 오후 6시 30분까지 수업이며 이론을 배우면 바로 실습을 하는 시스템이다.

과정을 듣는 사람은 30명 정도이며, 비전공자와 전공자가 섞여있고 전공자들은 확실히 잘하는 것이 느껴진다.

계속 강사님께 질문을 할 수 없으니 옆사람에게 질문을 계속하며 하나하나 배우는 중이다.

과정 자체는 만족스러우며, 다른 국비지원을 들어본 적도 없고 코딩 수업을 들어본 적이 없으나 국비지원에 대해 약간은 걱정스러운 부분이 있었는데 걱정은 해결되었다.

강사님도 최선을 다해서 알려주시고, 같이 듣는 학생들도 열심히 해서 분위기가 좋은 편이다.

계속 생각을 하며 복습을 열심히 한다면 좋은 결과가 있을 거라 생각된다.

 

 

 

오늘은 타입 변환에 대해 알아보려고 한다.

 

데이터 타입을 다른 데이터 타입으로 변환하는 것을 말하는데 예를 들면 byte타입을 int타입으로 변환하거나, int타입을 byte타입으로 변환하는 것을 말한다.

 

 

1. 자동 타입 변환 ( 프로그램 실행 도중에 자동으로 타입 변환이 일어나는 것을 말한다.) (promotion)

 

 

 

 

값의 허용범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생한다.

기본 타입을 허용 범위 크기순으로 정리하면 다음과 같다.

 

byte < short < int < long < float < double

 

 

package com.kh.data;

public class TestCasting {

	public static void main(String[] args) {
		
		byte byteValue = 10;
		int intValue = byteValue;

 

 

코드를 살펴보자.

 

byte byteValue = 10;

int intValue = byteValue;

 

int타입이 byte타입보다 허용 범위가 커서 자동 타입 변환이 일어난다.

 

 

 

2. 강제 타입 변환(casting)

 

위의 경우와 반대인 경우를 말한다. 큰 허용 범위 타입은 작은 허용 범위 타입으로 자동 타입 변환이 될 수 없다.

그래서 강제로 큰 허용 범위 타입을 작은 허용범위 타입으로 강제로 나눠서 저장하는 것을 말한다.

 

package com.kh.data;

public class TestCasting {

	public static void main(String[] args) {
		
	
		
		
		long longVal = 100L;
		int intVal = (int)longVal;
		System.out.println(intVal);

 

코드를 살펴보자.

 

long longVal = 100L;

int intVal = (int)longVal;

system.out.println(intval);

 

long 타입은 int 타입보다 더 큰 허용 범위를 가진다.

따라서 long 타입은 int 타입으로 자동 변환되지 않는다. 하지만 (int) 캐스팅 연산자를 사용해서

int 타입으로 강제 변환할 수 있다.

'이공계전문기술연수 > Java' 카테고리의 다른 글

< 이공계전문기술연수> 8. Java 연산자 / 증감연산자/ 삼항연산자  (0) 2019.08.07
< 이공계전문기술연수> 7. Java 변수와 시스템 입출력 / Scanner  (0) 2019.08.07
<이공계전문기술연수> 5. Java 변수(2) 기본타입  (0) 2019.08.05
<이공계전문기술연수> 4. Java 변수(variable)  (0) 2019.08.04
<이공계전문기술연수> 3. Java 프로젝트 / 패키지 / 클래스 생성  (0) 2019.08.04
'이공계전문기술연수/Java' 카테고리의 다른 글
  • < 이공계전문기술연수> 8. Java 연산자 / 증감연산자/ 삼항연산자
  • < 이공계전문기술연수> 7. Java 변수와 시스템 입출력 / Scanner
  • <이공계전문기술연수> 5. Java 변수(2) 기본타입
  • <이공계전문기술연수> 4. Java 변수(variable)
임쟌
임쟌
Jian's Blog임쟌 님의 블로그입니다.
임쟌
Jian's Blog
임쟌
전체
오늘
어제

공지사항

  • [자기소개]
  • 쟌's Blog (227)
    • Language (32)
      • Python (8)
      • Go (24)
      • Java (0)
    • Framework (10)
      • Django (9)
      • Gin (1)
      • Spring boot (0)
      • Fiber (0)
    • Database (10)
      • PostgreSQL (8)
      • MySQL (0)
      • Redis (2)
    • Server (51)
      • Linux (16)
      • Git (12)
      • Oracle Cloud Infrastructure (13)
      • Mac (4)
      • Docker (4)
      • RabbitMQ (0)
      • ETC (2)
    • Operating System (0)
      • OS (0)
    • Algorithm (22)
      • Go (22)
      • Python (0)
    • Exam Certification (4)
    • Daily Life (27)
      • Review (21)
      • Diary (6)
    • 이공계전문기술연수 (71)
      • Java (17)
      • Database (8)
      • HTML | CSS (13)
      • JavaScript | jQuery (6)
      • Servlet | JSP (16)
      • Spring Framework (11)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
임쟌
< 이공계전문기술연수> 6. Java 변수(3) 타입변환
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.