반응형
자바 문법 및 형변환
By Commin .August 21, 2016
Intro
안녕하세요 commin 입니다. 바로 이어서 JAVA언어의 형변환이 어떤 것인지 에대해 포스팅 하도록 하겠습니다.
Explanation
형변환이란? 상수의 값을 크기가 다른 변수에 담는 작업을 뜻합니다. int 형으로 선언된 변수 a 가있다고 치면, a를 int형보다 작은 short 자료형에 억지로 넣은 것, 또 int 형보다 큰 long 형에 넣은 것, 두가지경우가 있겠네요. 작은 상자의 물건을 큰 상자로 옮길땐 힘들지않습니다. 그냥 부어버리면 되잖아요? 근데 더 작은 상자로 옮길때는 쉽지않습니다. 물건을 억지로 넣어보아도 원래상자에 많은 물건이 들어있었다면 다 못넣고 몇개는 삐져나오게되지요. 이렇듯 형변환은 Promotion (자동 형 변환) 과 Casting (강제 형 변환)으로 나뉘게됩니다.
- Promotion : A라는 상자에 닮겨있는 물건을 더 큰 상자인 B 에 넣을 때는 어렵지않습니다. 그냥 부어버리면되니까요, JAVA언어는 이 쉬운 작업을 그냥 자기가 해줍니다. 그래서 자동 형변환이라는 말이 붙은 거죠. 그냥 넣으면됩니다. 이땐 손실되는 데이터는 없습니다.
1 2 3 | //자동 형 변환 int a = 500000; double b = a; | cs |
- Casting : 반대로 A라는 상자의 물건을 A 상자보다 더 작은 상자 C 에 넣을려고 할때는, 할일이많습니다. 복잡하구요. 비합리적입니다. 때문에 JAVA언어는 스스로가 판단을 내리지않습니다. 코더가 실수 한 것일 수 있기때문이지요. 그렇기 때문에 코더는 강제로 형 변환을 시킬 것이라는 걸 JAVA에게 알려줘야합니다. 더 작은 상자에 옮길때 상자 안에 물건들중 일부는 들어갈 자리가없어서 버려지게 되더라도 강제로 그렇게 하겠다라는 걸 말해줘야한다는 겁니다. 이땐 손실되는 데이터가 생길 수도, 안 생길 수도 있습니다.
1 2 3 | //강제 형변환 int a = 500000; short c =(short) a;//'()'안에 형변환을 시킬 자료형을 넣어야합니다. | cs |
Closing
형변환에대해서 포스팅 해봤습니다. 결과물을 스샷찍어서 올릴려고 했으나, 그것은 이 글을 보는 여러분에게 맡기도록하겠습니다. 코딩은 직접 써봐야 이해되고 외워집니다. 눈으로만 봐서는 한계가 있습니다. 제가 설명한 내용이 잘못되었는지 잘되었는지는 여러분이 코딩 해보고 결과물을 봐야 합니다. 직접 코딩해보세요~ ^^
- Commin's JAVA BASIC Category
- 자바 이클립스 설치 및 환경변수 설정
- 자바 문법의 개념 및 용어
- 자바 기본 입출력
- 자바 제어문
- 자바 메서드 및 배열
- 자바 클래스
- [초급 JAVA]자바 class의 기본개념/객체(Object) 와 클래스 - 1
- [초급 JAVA]자바 class의 기본개념/객체(Object) 와 클래스 - 2
- [초급 JAVA]자바 생성자로 초기화 하고 코딩하기/JAVA Constructor
- [초급 JAVA]자바 this,static,final 지정예약어 - final
- [초급 JAVA]자바 this,static,final 지정예약어 - this & this()
- [초급 JAVA]자바 this,static,final 지정예약어 - static
- [초급 JAVA]자바 상속(extends) 예제로 이해하기/ super & super() 이해하기
- [초급 JAVA]자바 interface 와 abstract 예제로 이해하기
반응형
'LECTURE > # java basic' 카테고리의 다른 글
[초급 JAVA]자바 기본 입 출력 - System 클래스 / System.in.read(); (2) | 2016.09.12 |
---|---|
[초급 JAVA]자바 기본 입 출력 - System 클래스 (1) | 2016.08.23 |
[초급 JAVA]자바 문법 및 자료형 - 2 (3) | 2016.08.21 |
[초급 JAVA]자바 문법 및 자료형 - 1 (3) | 2016.08.21 |
[초급 JAVA] Hello JAVA 출력하기 (3) | 2016.08.18 |