본문 바로가기
Backend/JAVA

JAVA 형 변환

by YERIEL_염주둥 2020. 4. 21.
728x90

1. 형변환 (캐스트)

다른 자료형(데이터형)으로 변환할 때

 

2. 숫자 타입 형변환

작은 숫자 타입 -> 큰 숫자 타입 : 명시적으로 형변환

package kr.or.ksmart;

public class JavaBasic01 {

	public static void main(String[] args) {
		
        //작은 형 ->  큰 형 : 명시적으로 형변환
		int inum = 160;
		double dnum = inum; 
		
		System.out.println(inum + " - > - "+ dnum);
		
	}

}

 

큰 숫자 타입 -> 작은 숫자 타입 : 캐스트 연산자를 활용하여 형 변환 작은 숫자 타입의 크기를 넘어서면 변환이 안된다.

package kr.or.ksmart;

public class JavaBasic01 {

	public static void main(String[] args) {
		
		//큰데이터형 -> 작은 데이터형 : 캐스팅 연산자를 활용해야하며 변환될 데이터형의 크기를 넘어서는 안된다.
		int inum2 = (int) dnum; //캐스트 연산자를 활용하여 형변환
		
		System.out.println(dnum+" - > - "+inum2);
		
	}

}

 

다른 데이터형끼리 연산하기   - 다른 데이터형끼리 연산시 큰형으로 변환 후 연산된다.

int inum3 = 10;
double dnum2 = 5.2;
System.out.println("연산자 우선순위 없으면");
System.out.println("다른 형끼리 연산-> " + inum3 + dnum2);
//연산을 할 경우 연산자 우선순위를 기억하여 코드 작성
System.out.println("연산자 우선순위 있으면");
System.out.println("다른 형끼리 연산 -> " + (inum3+dnum2));

 

3. 래퍼 클래스

프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우 기본 타입의 데이터를 그대로 사용할 수 없기 때문에 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야한다이렇게 8개의 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)라고 한다.

래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어준다. 이러한 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공한다.

** 래퍼 클래스 중에서 Integer 클래스와 Character 클래스만이 자신의 기본타입과 이름이 다르니 주의주의!

 

4. 박싱 & 언박싱

(자바 코드 언박싱 말고 쇼핑 언박싱 하고 싶다...ㅋㅋㅋ)

래퍼 클래스(Wrapper class)는 산술 연산을 위해 정의된 클래스가 아니므로, 인스턴스에 저장된 값을 변경할 수 없다.
단지, 값을 참조하기 위해 새로운 인스턴스를 생성하고, 생성된 인스턴스의 값만을 참조할 수 있다.

 

 

박싱 : 기본타입의 데이터를 래퍼 클래스의  인스턴스로 변환하는 과정

언박싱 : 인스턴스에 저장된 값을 기본 타입의 데이터로 꺼내는 과정

반응형

'Backend > JAVA' 카테고리의 다른 글

JAVA 메서드 오버로딩  (0) 2020.04.22
JAVA 실습. 클래스  (0) 2020.04.21
JAVA 클래스  (0) 2020.04.21
JAVA 배열  (0) 2020.04.21
JAVA txt로 작성하여 cmd로 컴파일 및 실행하기  (0) 2020.04.14

댓글