Menu
CoddyTech

타입 캐스팅 파트 1

Coddy C++ 여정의 기초 섹션에 포함된 레슨. 74개 중 14번째.

형 변환은 값을 한 데이터 유형에서 다른 데이터 유형으로 변환하는 과정입니다.

C++에서는 정수를 실수로, 실수를 정수로 변환하는 등 다양한 변환을 할 수 있습니다. 형 변환에는 암시적(자동) 형 변환과 명시적(수동) 형 변환, 두 가지 유형이 있습니다.

예를 들어 Integer to Double:

암시적(자동) 형 변환:

int number = 5;
double decimal = number; // 자동으로 5.0이 됩니다

// 계산을 사용하면
int x = 7;
double result = x / 2.0; // result는 3.5입니다

참고: 두 int 값을 나눌 때 C++는 정수 나눗셈을 수행합니다. 소수 부분은 버려집니다. 예를 들어, 7 / 2의 결과는 3.5가 아니라 3입니다. 소수점이 있는 결과를 얻으려면 피연산자 중 적어도 하나가 double이어야 합니다(예: 7 / 2.0의 결과는 3.5입니다).

명시적(수동) 형 변환 Double to Integer:

double decimal = 9.7;
int number = (int) decimal;  // 9가 됨 (소수 부분은 버려짐)

// 계산과 함께
double price = 19.99;
int roundedPrice = (int) price;  // 19가 됨

현대 C++에서 권장하는 스타일: C 스타일 캐스트인 (int) decimal 대신, 더 안전하고 의도를 더 명확하게 표현하는 static_cast<>()를 사용하는 것이 좋습니다.

double decimal = 9.7;
int number = static_cast<int>(decimal);  // 9가 됨 (소수 부분은 버려짐)

double price = 19.99;
int roundedPrice = static_cast<int>(price);  // 19가 됨

참고: (int) value와 static_cast<int>(value)는 여기서 같은 결과를 내지만, static_cast<>()는 변환이 명확하게 드러나고 컴파일러가 검사하므로 현대 C++에서 권장되는 방식입니다.

challenge icon

챌린지

초급

형 변환을 보여 주는 C++ 프로그램을 작성하세요. 다음을 수행하세요:

price 변수를 int로 변환하고, 결과를 intPrice라는 새 변수에 저장하세요.

직접 해보기

    int intPrice = ?; // double에서 int로 명시적 형변환
    
    
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 C++ 컴파일러