자 ! 이렇게 외우자 !! 아니, 외우지 말고 이렇게 이해하자!!!

  • 연산자 우선순위는 일단 15층짜리 건물로 생각을 하자. 보통 예전에는 아파트 15층 건물이 많지 않았는가? 쉽게 연상이 될 것이다.
  • 연산 순위가 낮은 연산자가 높은 층을 차지한다. 아무래도 1층과 가까운 층이 출구로 나오기 편하지 않겠는가? 그러므로 순위가 가장 낮은 컴마 연산자는 15층, 가장 높은 괄호 연산 등은 1층이다.
  • 각 층에 각각 연산자가 산다고 생각하자. 당연히 우선 순위가 중요한 것이 낮은 층에 위치시키고, 조금 낮은 순위를 높은 층에 위치시키자.
  • 연산자를 ‘외운다’ 고 생각하지 말고, 이제 한 ‘아파트’에 있는 ‘이웃’이라고 생각하자. 연산자의 특성을 생각하면서 ‘이웃’의 순서를 상기하자.
  • 연산자들은 각 역할 별로 고유한 특징이 있다. 그 특징을 바탕으로 연산자에게 좀더 ‘이웃’다운 성격을 부여하고 그 특징을 상기해 보자. 훨씬 이해하기 쉬울 것이다.

 

C 연산자 도시에는 많은 연산자들이 살고 있었다. C 연산자는 각각 그 나름대로의 개성과 고유한 역할, 성품이 있었고 연산자 도시에서 가지고 있는 사회적 지위, 재산과 평판을 가지고 있었다. 각각 연산자들은 자신의 역할을 담당하고 있었고, 그 역할에 따라 숫자 문자 논리값들은 각각 적절히 계산이 되어 결과가 나왔다. 연산자는 ‘연산’이라는 직업을 가지고 있었고, 그렇게 연산을 통해 생계를 꾸려갈 수 있었다.

 

어느 날 모든 연산자들은 연산자 타워라는 한 건물에서 살도록 프로그래머에게서 명령을 받았다. 제아무리 뛰어난 연산자라도 프로그래머의 명령은 절대적이었기 때문에 복종할 수밖에 없었다. 제각각 살던 그들은 이제 한 건물에서 살아야만 했다.

 

연산자 타워는 15층짜리 건물이었는데, 높은 층일수록 넓고 살기 좋았지만 한 층 한 층 올라갈수록 호되게 가격이 올라갔고, 1층 입구를 통해 바깥으로 나가 자신의 직장으로 출근하기도 어려웠다 게다가 높은 층에 걸맞은 사회적 지위가 없다면 눈치가 보여서 입주하기도 어려운 ‘불문율’이란 것이 있었다. 결국 누가 어느 층에서 살지를 의논하기 시작하였다.

 

15층은 너무나 좋아서 모든 연산자들이 탐을 낼만한 층이었다. 하지만 가격이 너무 비싸 선뜻 구입할 연산자가 없었다. 문득 컴마(,) 씨가 일어나 자신이 15층에 살겠다고 말하였다. 모든 연산자는 찬성하였다. 이미 컴마 씨는 다양한 분야에서 경험을 수많은 경험을 쌓은 베테랑이었고, 넉넉한 성품으로 유명하여 사회적으로도 명망이 높은 연산자였다.

컴마 씨의 재산 또한 어마어마하고, 최근 일선 업무에서 물러나 후진 양성에 힘쓰기로 하여 잦은 출퇴근을 할 이유가 없었으므로 결국 15층은 컴마 씨의 소유가 되었다.

 

14층은 연산 도시의 대부인 ‘할당 연산자’ 이퀄(=) 씨가 소유하기로 했다. 다른 연산자들도 동의하였다. 이퀄 씨 또한 이미 오래전부터 다양한 분야에서 활약을 펼친 존재였기 때문에 컴마 씨에 버금가는 사회적 지위와 재산을 누리고 있었다. 게다가 이퀄 씨의 할당 연산이 없이는 제아무리 복잡한 연산도 무용지물에 불과했다. 이퀄 씨 또한 후학 양성에 매진하였는데 그들의 직계 제자들은 다름아닌 += -= *= /= %= <<= >>= &= |= ^= 들이다. 이들은 종래 볼 수 없던 참신한 연산으로 연산업계의 새로운 화두로 떠오르고 있다.

 

13층은 의외로 삼항 연산자 씨가 소유하겠다고 말해 이목을 집중시켰다. 독특한 개성의 소유자인 삼항 연산자 씨는 젊을 때부터 C 연산업에서 주목받는 존재였다. 지금은 프리랜서 선언을 하고 조용히 자신의 창작 활동에 전념하고 싶은 터였다. 그에게 있어 13층은 자신의 거처로 더할 나위 없이 적당한 장소였다.

 

12층과 11층은 각각 논리 연산 오어(||) 씨 부부, 논리 연산 앤드(&&) 씨 부부가 맡기로 하였다. 각각 10층과 8층 비트 연산 오어(|) 씨, 비트 연산 앤드(&)씨의 형이기도 한 논리 오어 씨, 논리 앤드 씨는 맞벌이 부부였다. 두 부부 다 논리 연산에서 중요한 업무를 관장하고 있어 사회적 지위도 높았고 재산도 상당하였다.

원래 오어 씨가 11층을 먼저 선택하였다. 하지만 앤드 씨가 조금이라도 출근의 편의를 위해 11층에서 살기를 간곡히 원했고, 평소 앤드 씨와 친분이 깊은 데다 앤드 씨 부부의 바쁘디 바쁜 스케줄을 이미 잘 알고 있는 오어 씨는 ‘허허’하고 웃으며 선선히 11층을 양보해 주었다.

 

이미 언급하였듯 10층과 8층에는 논리 연산 오어 씨와 앤드 씨의 동생인 비트 연산 오어 군(|)과 앤드(&) 군이 살기로 하였다. 둘 다 각자의 형 못지않은 실력과 재능을 갖고 있어 비트 연산계의 젊은 인재로 촉망받는 두 연산자였다. 다소 파격적인 일이었지만 그들의 촉망받는 장래성과 논리 연산 오어 씨와 앤드 씨의 얼굴을 보아 다들 그 두 동생의 소유를 인정하는 분위기였다.

 

하지만 논리 연산 오어(||)씨와 앤드(&&)씨 부부는 내심 탐탁지 않다. 이제는 그 두 동생들도 알맞은 짝을 찾아 결혼하여 자신들처럼 아이도 낳고, 좀 더 행복하게 살기를 원했지만 아직 두 동생은 아직 결혼할 마음이 없는데다, 두 사람 다 9층에 있는 비트 연산 배타적 오어(^) 양에게 마음을 빼앗겨 있는 상황이기 때문이다.

 

논리 연산 오어 씨와 논리 연산 앤드 씨는 배타적 오어 양을 볼 때마다 속이 부글부글 끓어 올랐다. 자신들이 끔찍이 아끼는 동생들이 결혼할 생각도 하지 않고 오어 양에게만 매달려 있는 꼴이 맘에 들지 않아 사실 오어 양이 9층은 물론 연산자 타워에 입주하는 것조차도 반대하고 싶었기 때문이다. 게다가 자신들의 동생 사이 층에서 살겠다고 한 것은 대체 무슨 속내인지 알 수가 없었다.

하지만 그런 배타적 오어 양에게 무조건 몰아붙일 수만은 없었다. 배타적 오어 양은 깐깐하고 도도하기는 했지만 독특한 개성과 장기를 살려 이미 수많은 비트 연산 업무를 수월하게 진행한 그녀의 능력은 사실 그들 동생들을 능가할 정도이기 때문이었다.

 

그렇게 10층에는 비트 연산 오어 (|)군, 9층에는 비트 연산 배타적 오어(^)양, 8층에는 비트 연산 앤드 군(&)이 살기로 결정되었다.

 

7층에는 이퀄 씨의 아들이자 쌍둥이 같다(==) 씨와 다르다(!=) 씨가 같이 살기로 하였다. 생김새는 엇비슷하지만 (살펴보면 제법 다른 구석이 있다) 성격은 전혀 다른 두 연산자는 이퀄씨의 성격을 닮아 정직하고 우직한 성격이다. 아버지의 예전 업무(수학에서 =, ≠)를 물려 받아 C 연산 업무를 성실하게 또 하루하루 바쁘게 살고 있다.

 

6층에는 같다 씨와 다르다 씨보다 더욱 분주한 스케쥴을 보내는 관계 연산의 사총사가 입주하기로했다. 지방에서 지내다가 일약 C 연산자 업계의 다크호스로 떠오른 네 연산자 크거나 같다(>=), 작거나 같다(<=), 크다(>), 작다(<) 네 연산자는 의리로 똘똘 뭉친 친구들이었다. 같다 씨와 다르다 씨와 하는 일은 같지만, 수많은 연산 업무에서 더욱 많은 호출을 받는 탓에 항상 시간이 모자란 그들은 좀 더 출근에 유리한 6층에서 살기로 하였다.

 

5층에서 살기로 한 연산자는 말썽꾸러기 비트 이동 연산자(<<, >>) 두 남매였다. 두 남매는 매우 비사교적이었다. 솔직히 바쁘기로 따지만 관계 연산자나 논리 연산자들이 더욱 바쁘고 비트 이동 연산자는 매일 집에 틀어박혀 얼굴도 비추지 않고 무엇을 하는지 도통 알 수가 없었다.

그리고 비트 이동 연산자는 곱하기(*) 씨와 나누기(/) 씨에게 걸핏하면 트집을 잡았다. 지위가 좀 더 높은 까닭에 관계 연산자나 논리 연산자가 높은 층수에서 살았기에 망정이지.... 아무튼 비트 이동 연산자는 말썽꾸러기였다. 더 낮은 층도, 더 높은 층도 그들에게는 어울리지 않았다.

 

4층에는 너무나 유명한 더하기 씨(+), 빼기 씨(-) 부부, 3층에는 곱하기 씨(*), 나누기 씨(/) 부부, 그리고 그들의 자식인 몫 구하기(%)가 살기로 하였다. 이들 부부는 14층의 이퀄(=)씨 만큼이나 유명한 삶을 살았지만, 재물에는 초연하였다. 그들은 좋은 집을 원하지 않았다. 그리고 여전히 연산업에서 핵심적인 업무를 수행하기 때문에 이동이 편한 3층과 4층을 각각 원했고, 전통적으로 곱하기 씨와 나누기 씨 가족이 좀 더 우선순위가 주어졌기 때문에 곱하기 나누기 부부가 3층을 맡고 더하기 빼기 부부가 4층을 맡기로 했다.

 

2층에는 혼자만의 삶을 살기로 결정한 각 연산 분야의 많은 단항 연산자들이 모여 살기로 결정했다. 그들은 따로 또 같이 자신들이 원하는 삶을 살기로 결정하고 서로 간섭하지 않는다는 조건 하에 2층에서 뭉치기로 결정하였다. 그들은 반전(!), 비트 보수(~), 전치 증가(++) 전치 감소(--), 플러스 기호(+), 마이너스 기호(-), 주소 연산(&), 역참조 연산(*), 캐스팅 연산, sizeof 연산이었다.

 

1층에는 프로그래머의 잦은 호출로 24시간 항시 대기하는 연산자와 여러 도구들을 놓아두기로 하고 연산자들의 층 배분 토론은 끝이 났다. 이들은 [ ], 포인터 참조(->), 점 연산자(.) ... 프로그램 언어만 찾을 수 있는 연산들이었다.

그리고 괄호 연산자가 특이하게 그 도구들과 같이 살아가기로 했다. 다른 연산자는 그러려니 하고 생각하였다. 대관절 괄호 연산자는 괴짜인지, 도인인지 그 정체를 알 수 없었다. 그의 말 한 마디에 연산 전체가 좌지우지됨에도 불구하고, 재물도 지위도 그 어떤 것도 원하지 않았기 때문이다. 한편 괄호 연산의 강한 카리스마에 홀려 2층에서 1층으로 살기로 결심한 두 연산자가 있었으니 바로 전치 증가, 전치 감소 연산의 쌍둥이 형제 후치 증가(++), 후치 감소(--)이다. 이들은 항상 알 수 없는 행동을 하며 가끔씩 프로그래머조차 혼란에 빠뜨리는 기행을 저지르곤 한다.

Posted by 나비:D
:
BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
---------------------------.. (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

달력

«   2024/04   »
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
Total :
Today : Yesterday :