달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  


 

변환(Type Conversion)

·       초기화 시에만 변환 적용됩니다.

·       하나의 타입을 다른 타입으로 바꾸는 것을 의미합니다.

·       타입 변환이라고도 합니다.

 

 

 

 

변환(Type Conversion) 종류

기본 자료형 값을 다른 자료형으로 변환할 있는 기능을 의미하며 가지 종류가 있습니다.

boolean형을 제외한 나머지 기본 타입 간의 타입 변환을 자유롭게 수행할 있습니다.

·       프로모션(promotion)

·       디모션(demotion)

 

 

 

 

 

프로모션(promotion)

·       자료형으로 변환

·       작은 자료형 -> 자료형

·       대입 연산자에서 왼쪽의 자료형이 오른쪽 결과의 자료형보다 발생합니다.

·       정보의 손실 없음

·       내부적으로 자동으로 형변환을 수행합니다.(자동 형변환; 묵시적 형변환; Implicit Type Conversion)

short s=7;

float f = s + 3.14f;

 

 

 

산술연산식에서 자동 형변환

산술연산식

연산 결과

정수 산술연산자 문자

정수

정수 산술연산자 정수

정수

정수 산술연산자 실수

실수

실수 산술연산자 정수

실수

실수 산술연산자 실수

실수

 

 

 

 

 

 

 

디모션(demotion)

·       작은 자료형으로 변환

·       자료형 -> 작은 자료형

·       경우에 따라 정보의 손실 발생

·       사용자가 형변환을 직접 지정합니다.(명시적 형변환; Explicit Type Conversion)

int i = 0;

short s=10;

i = (int)(10 + 3.5f);

 

 

 

명시적 형변환

·       자동 변환 발생지점을 표시하기 위해서 사용(의도한 변환임을 표시)

·       자동 변환의 규칙에 위배되지만 변환 필요한 상황에 사용(디모션)

·       중괄호 사용하여 표현하며 괄호를 타입 캐스트(type cast) 연산자라고 합니다.

 

(자료형)

(자료형)수식

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

   

   

자바의 자동 형변환 규칙(Implict Conversion)

값의 표현 범위로 자동 형변환됩니다.


   

 

double num = 3.14f + 10;

//10 10F 자동 형변환

 


Posted by codedragon codedragon

댓글을 달아 주세요

형변환

자동 형변환

명시적 형변환

   

   

var input = prompt('숫자를 입력하세요', '숫자');

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch01-variable/09.html>

   

   

   

   

   

자동 형변환

document.write(typeof(input) + ':' + input);

document.write('<br>');

//input 저장된 데이터의 타입이 String이기 때문에 +연산자를 사용하면 덧셈에 대한 연산이 수행되지 않고

//문자끼리 연결되어

//덧셈 연산을 수행하려면 명시적으로 형변환을 해야

document.write(input + 10);                

document.write('<br>');

//만약에 입력한 데이터가 숫자가 아니고 문자열일 경우는 NaN(Not a Number) 출력

document.write(input * 10);                //자동형변환

document.write('<br><br>');

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch01-variable/09.html>

   

   

   

명시적 형변환

//문자 -> 숫자

var numberInput = Number(input);

document.write('형변환 이후 <br>');

document.write(typeof(numberInput)+ ':' + numberInput + '<br>');

document.write(numberInput + 10);        

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch01-variable/09.html>

   

   

전체 소스

<html>

<head>

<meta charset="UTF-8">

<title>형변환</title>

<script type="text/javascript">

//내용                , 입력박스에 미리 보여지는 글자

var input = prompt('숫자를 입력하세요', '숫자');

document.write(typeof(input) + ':' + input);

document.write('<br>');

//input 저장된 데이터의 타입이 String이기 때문에 +연산자를 사용하면 덧셈에 대한 연산이 수행되지 않고

//문자끼리 연결되어

//덧셈 연산을 수행하려면 명시적으로 형변환을 해야

document.write(input + 10);                

document.write('<br>');

//만약에 입력한 데이터가 숫자가 아니고 문자열일 경우는 NaN(Not a Number) 출력

document.write(input * 10);                //자동형변환

document.write('<br><br>');

//명시적 형변환

//문자 -> 숫자

var numberInput = Number(input);

document.write('형변환 이후 <br>');

document.write(typeof(numberInput)+ ':' + numberInput + '<br>');

document.write(numberInput + 10);        

</script>

</head>

<body>

</body>

</html>

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch01-variable/09.html>

   

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

변수의 재정의  (0) 2014.05.30
변수  (0) 2014.05.30
형변환  (0) 2014.05.30
12.html-기본타입(null과 undefined)  (0) 2014.05.28
11.html-기본타입(불린(boolean))  (0) 2014.05.28
10.html-기본타입(문자열)  (0) 2014.05.28
Posted by codedragon codedragon

댓글을 달아 주세요