쌍반점

 




1. 문장부호
1.1. 원래 의미
1.2. 쌍점(:)과의 차이점
2. 프로그래밍 언어
2.1. 한 문법 단위를 종결시키는 의미로서의 세미콜론
2.2. 주석으로 쓰이는 세미콜론
3. 이모티콘


1. 문장부호



;

Semicolon
쌍반점이란, 문장부호의 한 종류이다.

1.1. 원래 의미



[1]
영어권에서만 쓰이는 문장 부호로, 접속사 'and', 'that is', 'but', 'however', 'so', 'because' 등의 의미를 가지거나 여러 의미를 동시에 가질 때 사용된다.[2]
예) cumulative conjunctions: and, that is; adversative conjunctions: but, however; illative conjunctions: so, because
순접 접속사: and, that is'';'' 역접 접속사: but, however'';'' 추론 접속사: so, because
쉽게 말하자면 앞의 문장과 뒤의 문장이 서로 연관 관계 또는 인과 관계를 가지고 있다고 생각하면 된다. 원인 또는 이유→결과로서 가는 게 보통이나 결과→원인 또는 이유로 진행되는 인과관계도 종종 있는 편이다. 이 경우는 'because'(왜냐하면)/'so'(그래서)/'than'(그러면) 등으로 해석할 수 있다.
1. 원인→결과
예) The man, who fought bravely against the enemy in the war, passed away yesterday; (so) his wife is crying.
(전쟁에서 용감히 적과 싸웠던 그가 어제 세상을 떠났다. (그래서) 그의 아내는 울고있다.)
2. 결과→원인
예) He has the stomach full of food; (because) someone has given him too much food in the party.
(그는 먹을 것을 잔뜩 먹었다. (왜냐하면) 누군가 파티에서 그에게 먹을 것을 너무 많이 줬기 때문이다.)
명령법이 사용된 경우는 명령법 이후에 그 결과를 서술하는 경우가 많고, 반대로 '결과; 명령법'의 구조로도 사용 가능하다. 단순히 어떤 사실을 서술할 경우에는 그 다음에 이유를 서술하는 경우가 많다. 이 경우 역시, 이와 반대되는 '이유; 사실'의 구조로도 사용할 수 있다. 이후 문법이 좀 더 발전되면서 문장을 일단 끊었다가 이어서 설명을 더 계속할 경우에도 쓴다. 주로 예를 들어 설명하거나 설명을 덧붙이는 경우에 쓴다. 또한 콜론이든 세미콜론이든 앞은 붙이고 뒤는 띄우는 게 원칙이다.
쉼표와 헷갈리는 경우가 많은데, 세미콜론 다음에는 'independent clause'[3]만 올 수 있지만 쉼표 다음에는 양쪽 다 가능하다. 예를 들자면,
예) Call me tomorrow; I will give my answer then. (◯)
(내일 전화해주세요. 그럼 답변하겠습니다.)
: 세미콜론 다음에 주절이 오므로 성립 가능한 문장. 'than'을 쌍반점(;)으로 대체한 것이라고도 볼 수 있다.

예) I have read ''The Lord of the Rings''; ''The Silmarilion''; and ''The Hobbits''. (✕)
(나는 반지의 제왕; 실마릴리온; 호빗을 읽었다.)
: 주절이 아니라 단순히 명사가 오므로 콤마, 즉 쉼표를 써야 한다.
-
예) Seven (rings were) for the dwarf lords; (who are) great miners and craftsmen of the mountain halls. (◯)
(일곱 개의 반지난쟁이 왕들의 몫이었다; 산속에 사는 위대한 광부이자 장인들의.)
: 위의 예시와는 달리 who are가 생략되었으므로 쓸 수 있다.
단, 위에서 틀렸다고 서술했던 단순 나열의 경우에는 예외가 하나 있는데, 나열되는 것들 중의 일부가 그 자체 안에 쉼표를 포함하고 있을 경우 쉼표 대신 세미콜론을 써야 한다.
예) I have read ''Harry Potter and the Philosopher’s Stone''; ''The Lion, the Witch and the Wardrobe''; and ''The Northern Lights''. (◯)
(나는 해리 포터와 마법사의 돌, 사자와 마녀와 옷장, 북극의 빛을 읽었다.)
: 이 경우 세미콜론 사이의 책 제목들은 주절이 아니지만, 항목 중의 하나인 사자와 마녀와 옷장의 원제가 제목 안에 이미 쉼표를 가지고 있으므로 혼동을 막기 위해 각 항목 사이에는 쉼표 대신 세미콜론을 써야 한다.

I have been to San Fransico, California; Boston, Massachusetts; and Houston, Texas. (◯)
(나는 캘리포니아의 샌프란시스코, 매사추세츠의 보스턴, 텍사스의 휴스턴에 가 본 적이 있다.)
: 마찬가지로 각 항목들이 "(도시), (주)" 형식으로 쓰는 영어식 지명표기법에 따라 이미 내부에 쉼표를 가지고 있으므로, 쉼표 대신 세미콜론을 써야 한다.
영어 원서에서 굉장히 많이 쓰이는 부호다. 근데 학교에선 세미콜론은 물론이고 다른 문장 부호도 잘 안 가르쳐주며 수능에도 나오지 않는다.[4] 한국의 영어 교육이 얼마나 현실과 동떨어져 있는지 논할 때 자주 언급되는 사례이다. 오랫동안 세미콜론을 '왜 써야 하는지'를 몰랐고 그것이 현재까지 이어졌기 때문이다. L2/FL 언어교육이론에서 중요시하는 게, 언어를 가르치는 사람이나 배우는 사람이나 단순히 기능적 문법(functional grammar)에 대한 지식만이 아니라 그 언어를 사용하는 사회의 문화적 배경과 이에 대한 이해(특히 화용론적 의도)가 있어야[5] 제대로 써먹는다는 것이다. 그러나 이에 대한 연구가 1990년대 초반에 들어와서야 이뤄지고 한국에 들어왔으니, 그 때까지 영어를 가르쳐왔던 방식이 '한국어로 직역 풀이'하는 형태를 못 벗어났던 것은 당연한 일이다. 외국어를 전문적으로 가르치는 인력이 한없이 부족했다는 점도 한몫 한다. 이건 '왜 아직도 번역가들이 빌빌대는가?'하는 문제와 같은 맥락이기도 하다.
문장론이나 문학성 측면에서 영미권 학자나 문학가들은 세미콜론을 그다지 좋아하지 않는다. 세미콜론을 사용해야 할 문법적인 필연성을 명확히 정의하기도 어렵고, 세미콜론을 남용하는 문장은 저급한 문장으로 취급된다. 그 때문에 아예 세미콜론을 쓰지 않고 글쓰기를 하는 작가들도 존재한다.
한국어로는 '쌍반점'이라는 이름이 있긴 하지만 그뿐이며 한국어에서는 사용하지 않는 문장부호이다. 한국어 사용자가 세미콜론 사용에 익숙지 않은 데는 이게 모국어에 없는 문장부호라는 탓도 매우 크게 작용한다. 영어 교육에서 더더욱 이런 용법을 자세히 가르쳐야 하는 이유이다. 물론 한국어로 글을 쓰는데 세미콜론을 여기서 설명된 용례처럼 썼다면, 문장부호를 옳게 사용한 것이기는커녕 훌륭한 번역체 문장이 된다.
그리고 한국어에서 쌍반점을 사용하지 않는 것은, 기상천외한 활용을 자랑하는 용언 덕분에 쌍반점 같은거 없어도 쌍반점의 목적 달성이 충분히 가능한 것의 영향도 상당히 크다. 당장 예를 들어 그 유명한 개역한글판 전도서 1장 2절 "전도자가 이르되 헛되'''고''' 헛되'''어''' 헛되'''고''' 헛되'''니''' 모든것이 헛되'''도다'''."는 용언을 통해 "헛됨의 순환구조"를 구현한 괴랄한 문장으로, 이걸 영어로 흉내라도 내려면 쌍반점 없이는 불가능하다.

1.2. 쌍점(:)과의 차이점


세미콜론은 주로 인과관계를 나타내기 위해 사용되거나, 쉼표로 특정 단어를 나누기 불편할 경우에 쓰인다.
예) Team 1: James, Jason, Judy; Team 2: Smith, Henry, Guinness
(1조 제임스, 제이슨, 주디'';'' 2조 스미스, 헨리, 기네스)
또한 동일한 성격의 주절을 병렬할 때도 쓰일 수 있다. 한국어의 '그리고', '~(하)'''고'''' 와 같은 역할이라 할 수 있겠다. 각각의 주절 간에 중복되는 표현은 두번째 주절부터는 생략되는 경우가 많다. 이때 유의해야 할 점은 세미콜론을 '억지로' 우리말로 해석하면 '그리고/`-고'라는 뜻일 뿐이지, 영어권에서 보자면 '그리고'보다는 그냥 난립하는 쉼표 사이를 구분하기 위해 사용하는 것과 불과하다는 것이다. 바로 아래 예시를 보면 이해할 수 있다. 쌍반점이 없이 쉼표만 사용한다면, you 다음에 오는 쉼표처럼 여러 '구나 절' 내에 오는 쉼표와, 여러 '구나 절'을 명확하기 나누기 위해 사용하는 쉼표의 차이를 구분하기 힘들 것이다.
예) I give you orders. I'll take the main door; you, back door; and you, side door.
(명령을 내리겠다. 일단 나는 정문을 맡고'';'' 너는 뒷문을 지키고'';'' 너는 옆문을 막아.)
반면에, 콜론은 주로 앞의 문장을 보조하기 위한 상세한 설명이나 사례를 제시하고자 할 때 쓰인다. 주로 'for example(예를 들어)'이나 'that is(즉)'의 뜻을 담고 있다. 또한 줄표의 사용법과 헷갈릴 수 있는데, 줄표는 보조적인 설명을 위해 사용되고 콜론은 중요한 설명을 위해 사용된다. 세 가지 문장 부호의 용례를 직접 비교해보자.
  • 세미콜론의 경우:
명령을 내리겠다. 일단 나는 정문을 맡고; 너는 뒷문을 지키고; 너는 옆문을 막아.[6]
  • 콜론의 경우:
우리가 수비하게 된 곳은 다음과 같다: 정문, 뒷문, 그리고 옆문.
  • 줄표(dash)[7]의 경우:
나는 이번에 옆문—어차피 절벽이라 할 일이 없는—을 맡았다.
다음과 같은 식으로 생각해 볼 수도 있다.
  • 세미콜론( ; ) - 온점( . ) 하나로 잠깐 정지했다가 쉼표( , )를 써서 '그리고'라는 뜻을 덧붙이는 것.
  • 콜론( : ) - 온점( . ) 두 개로 딱 끊어버린 뒤에, 설명을 덧붙이는 것.

2. 프로그래밍 언어


여러 프로그래밍 언어에서, 세미콜론은 행과 그 다음 행의 구분을 위한 목적으로 쓰인다. 과 행의 구분에서 세미콜론이 없으면 컴파일 에러가 나는 언어들이 있으며, 컴파일 에러가 나지 않지만 묵시적으로 세미콜론을 써 줘야 하는 언어들도 있다.[8] 프로그래밍을 입문할 때 가장 먼저 배우게 되고 실수도 많이 하게 되는 부분 중 하나다. 프로그래밍 초기 때에는 세미콜론을 안 붙이는 등 실수를 많이 한다.
처음에 프로그램을 출력할 때 쓰는 프린터는 지금처럼 직사각형의 용지를 사용해서 여러 줄을 한번에 출력하는 것이 아니라, 줄자 혹은 카세트테이프처럼 한 줄만 인쇄할 수 있는 둘둘 말린 종이테이프에 인쇄되어 나왔었다. 따라서 출력을 하고 보면 모든 문장이 행의 구분이 없었으며, 이런 상황에서 행을 구분하기 위해 세미콜론을 매 행의 마지막에 박아주게 되었고, 이후에도 행을 구분할 때 세미콜론을 쓰는 것이 일종의 관례가 된 것이다.
보통 프로그래밍에서는 세미콜론이라 부르지 않고 EOB (End Of Block)라 부른다.

2.1. 한 문법 단위를 종결시키는 의미로서의 세미콜론


컴파일러가 코드를 해석할 때 어느 위치에서 명령문이 끝나는지 알 수 있도록 작성하는 부호로 자연어에서의 마침표, ARS에서의 우물 정(井)자와 비슷한 역할이다. 모든 프로그래밍 언어에서 공통적으로 사용되는 것은 아니지만 C언어 계열 문법을 채택한 언어라면 십중팔구 세미콜론을 명령문 끝에 쓰도록 되어 있고, C언어가 워낙 자주 쓰이는 언어이고 여러 다른 언어에 많은 영향을 주다 보니 많은 언어에서 채택했다.
프로그래머라면 소스에 세미콜론을 하나씩 빼먹는 사소한 실수를 저질러 컴파일 오류를 띄운 적 있을 것이다. 가끔 쉬프트를 누른 채로 쓰는 바람에 ; 대신 : 이라고 쓰는 경우도 있다. 최신 IDE등은 코딩하는 단계에서 세미콜론이 누락됐음을 알려주어 수정할 수 있도록 유도하지만, 보통 컴파일러들은 그런 거 없기 때문에 컴파일을 돌려서 나온 에러 메시지로 빠진 부분을 찾을 수 있다. 또한 프로그래머라면 누구나 언제라도 일반적인 문장 끝마다 세미콜론을 붙이는 실수를 한다. 메신저, 채팅, 단순 문서작성, 심지어는 손으로 글을 적는 순간에도 문장을 끝내고 ;를 적는 실수를 하기도 한다. 습관이 무섭단 걸 알려주는 사례. 문장의 끝마다 ;를 붙이는 것을 C적 허용이라고 한다.
그리스어에서는 세미콜론 모양의 ;(U+037E)가 물음표로 쓰인다. 위 '프로그래밍 언어'로서의 속성에 착안해서 이런 장난을 치는 것도 가능하다.
대학교의 관련 학과에서 프로그래밍 언어를 처음 배울 때 시험에 자주 출제되는 범위(…)이다. "주어진 코드에서 오류가 발생하는 부분을 찾아 고치시오"란 문제가 출제되면 명령문 끝에 세미콜론을 빼먹은 부분이 한 두 개 정도는 꼭 포함되어 있다.
끝마다 세미콜론을 쳐 주는 게 좀 귀찮은 일이다 보니 JavaScript나 Scala같은 몇몇 언어에선 자동으로 행의 끝을 인식해서 세미콜론이 행을 종결시켜 줄 필요가 없도록 하기도 한다.[9] Python[10], Ruby 등의 언어에서는 ; 을 칠 필요가 없다. 사실 최신 스크립트 언어에서는 세미콜론을 빼는 경우가 많다.
MATLAB에서는 세미콜론이 없으면 해당 변수를 출력한다.

2.2. 주석으로 쓰이는 세미콜론


한줄 주석 기호. C계열 언어에서의 //와 동일한 역할을 한다. LISP의 여러 방언(dialect), 일부 어셈블리어 등에서 사용한다. 애시당초 LISP나 어셈블리가 C보다 오래되긴 했지만, LISP와 어셈블리는 그 특성상 행 종결이 특별히 필요하지 않아서이기도 하다. 전자는 무조건 괄호 단위로 인식하고, 후자는 무조건 정해진 바이트단위로 끊어서 읽으므로.

3. 이모티콘


땀을 흘리는 모습을 나타낸 이모티콘. 표정을 나타낸 이모티콘과 조합해 많이 쓰며(예 : ^^''';''', --''';;'''), 단독으로 쓰이는 경우 주로 당혹하거나 난감한 상황에 쓰인다. (예 : 이거, 곤란하네요;;; 또는 오늘 너무 더웠네;;)
또는 ;ㅅ;처럼 눈물을 흘리는 눈의 모습을 형상화하는 데도 쓰인다.
동양식과는 방향이 반대인 서양식 이모티콘에서는 :과 함께 눈을 나타낼 때 쓰인다. :이 눈을 제대로 뜨고 있는 느낌이라면 ;은 윙크를 하는 느낌.
[1] 본 영상에 나오는 모든 가사의 세미콜론( ; )은 콜론( : )으로 바꿔야 문법적으로 맞다. 그래서 제일 마지막의 가사가 "No actually those are examples of colons. You all get F's."(아니, 사실 이건 모두 콜론을 써야 하는 것들이었어. 너희들 다 F학점 받는다.)이다.[2] 한문에서도 표점을 찍을 때 영어권과 동일한 의미로 표점을 찍는다. 대표적으로 중화권 사이트에서 삼국지의 장익전과 그 주석으로 달린 속한서를 보고오자. 'however', 'so'등의 의미로 군데군데 세미콜론이 찍혀있다.[3] 주절. 그 자체만으로도 문장이 된다.[4] 사실 지문 안에 있어서 설명을 해주긴 한다. 그냥 해석만 하고 넘어가는 정도지만. 문장부호와 직접 관련된 문제는 까마득한 옛날 모의평가에서 딱 1차례 나온적이 있긴 하다.[5] Eli Hinkel, 2001[6] 바로 아래 '콜론의 경우'와 헛갈릴 수 있는데 이는 쉼표 사용이 영어권보다 제한적인 우리말로 해석해서 든 예시이기 때문이다. 우리말로 한다면 '명령을 내리겠다. 일단 나는 정문을 맡고, 너는 뒷문을 지키고, 너는 옆문을 막아.'가 올바르다. 헌데 '~일단 나는 정문을 맡고, 너는 뒷문을 지키고...'가 영어로 된 문장에서 쉼표들이 여러 개 사용될 수 있기 때문에 구나 절 끼리의 구분을 위해서 세미콜론을 사용하는 것이다.[7] 하이픈( - )과 줄표( — )는 비슷해 보이지만 다르다. 하이픈은 hyphenation rules라는 규칙이 있다. 2단어가 하이픈으로 연결되어 있으면 한 단어가 된다. 참고로 줄표를 하이픈 2개( -- )로 대신 쓰기도 한다.[8] JavaScript가 대표적인 예. 줄바꿈으로 대체가 가능하지만, 어지간해서는 꼭 넣어주는 편이다.[9] 다만 이 경우 개행 문자가 들어가는 문자열을 다루기 까다로워진다는 문제가 있다.[10] VSC에선 아예 빨간색으로 표시한다.