LangDev

프로그래밍 언어 개발에 관심 있는 사람들의 모임입니다.

Type cast는 type 변환에 대한 부정적 견해에서 출발한 용어일까요?

2009-04-10 08:14:58

C에서 형변환 연산을 명시적으로 적는 것에 대해서 type casting 한다고 하는데요. Cast의 정확한 의미가 ‘던지다’에서 나온 것 맞는지요. 던지다 혹은 내던지다에서 어원이 출발한 것 같아서요. 그렇다면 type을 내던져 버린다는 뜻인데 이걸 어떻게 해석하는게 좋을지 좀 의문입니다. C 언어 변수의 type이 가지는 제약을 벗어던지고, 프로그래머가 하고자 하는 값 형태로 연산을 마음대로 적용시키자는 의미라면 긍정정인 것 같기도 합니다. 마치 동적 언어의 낙관적 type 처럼 말이죠. 하지만 C는 표준화 과정에서 조금씩 type이 엄격해지는 형태를 취하게 됩니다. 그러면서 type cast가 거의 필요없게 되는데 그렇게 본다면 엄격한 type의미를 포기하는 위험한 행동이 되는거죠.

p.s. 판타지 소설에서 주문(spell)을 casting 한다고 하죠. Type casting은 무엇이 발생할지 모르는 마법의 주문이 아닌지… ^_^

트랙백 주소: http://langdev.net/post/trackback/276

  1. type cast from 이바닥이 원래 그래...
  1. 엽우 2009-04-13 06:57:00

    판타지 소설에서 말하는 그 cast가 맞습니다. 형 변환은 마법이지요… -_-; (뻘플 죄송)

  2. 아겔-_- 2009-04-13 09:37:33

    뻘플인데요;;; 남자라면 coerce;;;

  3. 김우승 2009-04-14 14:59:08

    ㅋㅋ. 함수형 style 중에 coerce가 있는 것으로 아는데 제대로 이해해 본 적은 없습니다. 나중에 공부할 때 떠오르면 어떡하죠?.. ^_^

  4. 김우승 2009-04-14 15:09:17

    반대로 한번 생각해보았습니다. 예전에 보았던 만화책 음양사를 보면(영화도 제작되었는데 영화는 안 봤어요.) 세이메이가 친구 히로마사에게 말합니다. 자신은 이름이 저주가 아닐까라는 생각이 든다고요. 이름을 통해 자신이 어느 하나의 형태로 고정되기 때문에 기본적으로 사람에게 자유를 뺐어버리는 저주와 같다고 말이죠.

    Type을 이름에 적용시킨다면 같은 의미가 아닐까라는 생각이 들어요. 판타지 소설에서 주문이 허공에 등장하면서 능동적으로 자연현상을 일으키는 자연마법도 있습니다만 주로 네크로맨서들이 쓰는 저주(curse)는 사람에게 붙어다닙니다. 동양에서 사용하는 마법의 주요형태도 이런 저주 형태이지요. 참을인자 세개를 붙여 자신의 행동에 제약을 거는 것도 그렇고요. 처용의 얼굴을 이용한 부적도 그렇습니다. 물론 이것은 암시의 형태로 긍정적인 효과를 이루기도 합니다. 마법사들이 자신이 필살기로 가진 마법의 특성에 따라 자신의 옷에 불화자나 물수자 혹은 바람풍자를 붙인다든지 하는 것도 그런 형태인 것 같고요. 이렇게 본다면 type casting이란 객체의 type을 내던져 버린다는 의미가 아니라 programmer가 객체에 type을 던져 붙여서(casting) 새로운 type으로 제약되도록 한다고 할 수 있습니다. 물론 잘 되라고 한 마법이 화를 불러올 수도 있고, 저주는 기본적으로 상태를 파멸시키는 마법이니 program이 죽어버릴 수도 있는 위험할 수 있는 기술이기도 하죠.

  5. 까막 2009-05-11 10:11:44

    다이캐스팅 할때 Cast일지도 모릅니다. 데이터를 땅땅 때려서 다른 타입으로 바꾸는.. -_-

목록보기

← IRC 채널을 오징어로 이전합니다. | 2009년 5월 5일 이것저것 →