티스토리 뷰

반응형

그냥 내가 잊지 않기위해 작성하는 포스트.

 

 

2년만에 다시 공부하는 Java.

Type casting부터 애를 먹기 시작했다.

 

 

생각해보면 언어별 Type casting을 하는 방식이 다 다르다는 것을 인식해서, 그걸 좀 정리해보고자 한다.

 

 

Type casting에 대해 깊게 파고들면 명시적, 암묵적 형변환으로 나뉘며

많은 이야기들이 나오는데 그런 깊은 내용들은 나중에 다뤄보기로 하고

여기서는 단순히 명시적 형변환을 하는 법에 대해 다뤄보고자 한다.

 

 

또한, 여기서는 단순히 숫자 문자 데이터를 숫자로 바꾸는 것이 아닌 말 그대로 문자를 아스키코드 형 숫자로 바꾸는 것을 이야기한다.

 

 

일단, 나는 Python, Javascript(Node.js), C++를 최근 다뤄오고 있다.

그래서 인지 몰라도, 아무튼 다음과 같이 Java에서 작성했는데 안되더라...하하하하....

 

아아, 바보같은 나

 

그래서 언어별 type casting을 작성해보려 한다.

 


 

Java

char characterValue = 'c';
int integerValue = (int)characterValue;

`(type) value` 형식으로 type casting을 할 수 있다.


Python

character_value = 'c'
integer_value = ord(character_value)

기본적으로 `ord( )` 함수를 지원하여 type casting을 할 수 있다.

반대로 숫자를 문자로 변경하고 싶다면 `chr( )`를 사용하면 된다.

Python type casting에 더 자세히 알고 싶다면 여기를 참조 !


C++

char characterValue = 'c';
int integerValue1 = (int)characterValue;
int integerValue2 = int(characterValue);

`(type) value`와 `type (value)`형식 둘 다 지원한다. 전자를 C 스타일의 형변환, 후자를 함수형 형변환이라고 하나보다.

둘 다 지원된다니, 하나를 정해 활용하면 되겠다.

자세한 내용은 여기를 참조 !


Javascript

const characterValue = 'c';
const integerValue1 = Number(characterValue);   	// NaN
const integerValue2 = characterValue.charCodeAt();  // 99

Javascript의 경우에는 일반적인 숫자 문자의 경우엔 `Number ( )`형태로 type casting이 가능하다.

하지만 문자인 경우, Number를 통해 형변환하게 되면 숫자가 아닌 데이터가 숫자형으로 변환한다는 의미에서 NaN 데이터가 나오게 된다.

그래서 아스키코드 숫자로 바꾸고 싶은 경우, `charCodeAt ( )`을 통해 변환할 수 있다.

 


 

언어별로 type casting이 다르다는 게 신기하고, 어렵기도 하다.

뭔가 통일되어 있다면 이런 것 하나 하나에서 헷갈리지 않을텐데.

 

내가 내공이 부족해서 그런 걸수도 있겠다.

좀 더 공부하고, 성장해야지.

320x100
반응형

'Development > Overall' 카테고리의 다른 글

git tag가 어떤 branch로부터 만들어졌을까?  (0) 2022.05.04
ACID  (0) 2022.03.12
컴파일과 빌드  (0) 2021.01.21
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함