1. 무엇이 무엇이 똑같을까
식탁 위에 젓가락 두 짝이 나란히 놓여 있다. 얼핏 보면 똑같다. 하지만 자세히 보면 나뭇결도 다르고, 끝의 모양도 조금 다르다. 무게를 재 보면 소수점 아래에서도 차이가 날 것이다. 엄밀히 말하면 이 둘은 똑같지 않다. 그런데 우리는 아무 망설임 없이 같은 젓가락이라고 부른다.
프로그래밍에서도 비슷한 장면을 마주친다. 변수 a에 5를 저장하고 변수 b에도 5를 저장했을 때 a와 b는 메모리 어딘가의 서로 다른 자리를 차지하고 있다. 그런데도 a == b라는 비교 연산은 참을 돌려준다. 반면 어떤 언어들은 a is b처럼 완전히 별개의 질문, 즉 같은 자리를 가리키고 있는가를 따로 물을 수 있게 해둔다. 두 질문이 따로 존재한다는 사실 자체가, 같다는 말이 하나의 뜻으로 고정되어 있지 않다는 것을 보여준다.
몸을 살펴봐도 마찬가지다. 어제의 나와 오늘의 나는 세포 단위로 보면 상당수가 교체되었을 것이다. 어릴 적 사진 속 얼굴과 지금의 얼굴은 골격부터 다르다. 그런데도 주민등록증은 하나의 이름 아래 그 모든 순간을 같은 사람으로 묶어 둔다. 회사의 조직도 역시 사람이 들고 나고 부서 이름이 바뀌어도, 어느 시점엔가는 여전히 같은 회사라고 불린다.
이 장면들을 나란히 놓고 보면 이상한 공통점이 드러난다. 셋 다 대상을 이루는 세부 요소는 계속 바뀌거나 애초에 다른데도, 우리는 그 사실을 알면서 태연하게 같다고 말한다. 심지어 무엇을 근거로 그렇게 판단하는지 굳이 따져 묻지도 않는다. 젓가락을 집을 때, 변수를 비교할 때, 사람을 알아볼 때, 이 판단은 거의 반사적으로 일어난다.
그런데 반사적이라는 사실이 오히려 수상하다. 젓가락과 변수와 사람은 서로 아무 관련이 없어 보이는 영역인데, 어째서 다들 비슷한 방식으로 차이를 눈감아 주고 같음을 선언하는 걸까. 어쩌면 우리가 매번 다른 기준으로 같음을 판단하고 있다고 믿을 뿐, 실제로는 훨씬 적은 수의 공통된 규칙을 반복해서 쓰고 있는 것은 아닐까.
이 물음에 답하기 전에 먼저 짚어야 할 것이 있다. 우리는 애초에 왜 이렇게까지 자주 같음을 찾아다니는가. 차이를 있는 그대로 두어도 될 것을, 어째서 매번 공통점을 골라내고 이름을 하나로 묶으려 하는가.