본문 바로가기

C#문법 ( • ̀ω•́ )✧

C#문법-명시적 형변환,암시적 형변환

형변환
C#에서는 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행. 이때 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하려면 명시적 형변환(explicit castring) 또는 암시적 형변환(implicit castring)을 해주어야한다.

 

명시적 형변환:

변수나 값의 데이터 형식을 개발자가 명시적으로 지정하여 변환하는 과정을 의미한다.(데이터 형식이 서로 호환되지 않을 때, 또는 특정 연산이나 메서드 호출을 위해 필요한 경우에 사용)

 

필요한 이유? 명시적 형변환이 필요한 이유 중 하나는 데이터의 손실을 방지하기 위함이다. 예를 들어, 정수형을 실수형으로 자동 형변환할 때는 데이터 손실이 발생할 수 있으므로, 명시적으로 개발자가 형변환을 지정하여 안전하게 처리할 수 있다.

 

ex) (자료형)형식으로 수행

더보기

int uum1 = 10;

long num2 = (long)num1;

 

~>int를 long으로 명시적 형변환

 

암시적 형변환:

1.작은 데이터 타입에서 더 큰 데이터 타입으로 대입하는 경우:

byte,short,char등 작은 데이터 타입에서 int,long,float등 더 큰 데이터 타입으로 대입할때 암시적 형변환 발생

ex)

더보기

byte num1 = 10;

int num2 = num1;

 

~>byte형에서 int형으로 암시적 형변환

2.리터널 값이 대입되는 경우:

C#컴파일러는 리터널 값의 데이터 타입을 판별하여 변수에 암시적으로 형변환

ex)

더보기

float result = 1;

 

~>1은 int형 리터널 값이지만 float형으로 암시적 형변환

3.정수형과 부동소수점형 간의 연산을 수행하는 경우:

정수형과 부동소수점형의 연산 결과는 부동소수점형으로 변환

ex)

더보기

int num1 = 10;

float num2 = 3.14;

float result = num1+num2;

 

~>int형과 float형의 덧셈에서 float형의 덧셈에서 float형으로 암시적 형변환

  • 암시적 형변환은 프로그래머가 직접 형변환 코드를 작성하지 않는다.(코드 간결하게 작성 가능)
  • but! 암시적으로 형변환이 발생하는경우 데이터 타입을 신중하게 고려하여 코드작성

 

부동소수점형?

소수점 아래의 값을 표현하는 데이터 형식 중 하나로, 실수 값을 나타낼 때 사용이는 정수형과 달리 소수점 이하의 부분을 표현할 수 있다.(컴퓨터에서는 유동 소수점 방식을 주로 사용.)