현재 이공계 전문기술연수 과정에 대해 잠깐 말하면 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 |