의미

최근 편집: 2018년 11월 15일 (목) 17:47
Wishes3594 (토론 | 기여)님의 2018년 11월 15일 (목) 17:47 판 (오타수정)

언어학에서 의미(意味)란 글쓴이나 말하는 이가 나타내고자 하는 것을 말한다. 의미를 다루는 언어학의 핵심 분야가 의미론(Semantics)이며, 의미론은 사회학과 컴퓨터공학 등에 지대한 영향을 미쳤다.

사회이론과 사회철학에서 "의미"라는 개념을 어떻게 이해해야 하는지에 대해서 논쟁이 있어 왔다. 막스 베버는 『경제와 사회』에서 행위 개념을 정의하기 위해 의미 개념을 사용하였다. 베버에 따르면 행위란 다음과 같다.

  • "행위는 행동의 주체가 갖는 주관적 의미가 행동에 결합된 것이다."

여기에서 의미란 행위하는 사람의 의식이 떠올리는, 언어로 표현하기 어려운 어떤 목표와 수단에 대한 생각 자체를 말한다. 그러나 인지과학, 심리학의 발달에 힘입어 인간 의식 구조가 1800년대 인식론에서 제시된 주체의 의식이 갖는 구조와 현저히 다른 것으로 밝혀지기 시작하자, 인식론에서 다루는 주체의 의식이라는 개념을 사용해 정의된 수많은 사회과학적 개념들이 타당성 위기에 놓인다.

위르겐 하버마스는 『의사소통행위이론 1』에서, 언어학의 화용론에서 핵심 발상을 가져와 의미 개념을 의사소통행위라는 아주 일반화된 행위를 통해 재정의한다. 반면 생물학과 사회학을 결합한 자기생산체계이론을 주장한 사회학자 니클라스 루만은 하버마스가 의미와 행위를 결부시키는 낡은 전통에 머물러있고, 하버마스에 따르면 사회학이 지나치게 복잡하고 부정확해진다고 비판하며, 생물학과 일반체계이론의 개념을 사회학에 적용하여 행위와 독립적으로 유기적으로 활동하는 체계이론적 의미론을 제시한다.

컴퓨터과학에서 의미론은 프로그래밍 언어를 정의하기 위해 쓰인다. 어떤 코드의 의미를 표현하기 위해 사용되는 의미론은 크게 세 가지가 있는데, 그 중 중요한 의미론은 작동 의미론(Operational Semantics)과 표기 의미론(Denotational Semantics)이다. 작용 의미론은 어떤 코드를 실행할 때 기계가 실제로 어떻게 작동하는지를 기술하여, 그 기술을 한 코드의 의미라고 정의한다. 그러나 작동 의미론으로 코드의 의미를 충분히 정확하게 정의하려면 아주 많은 실제 사례를 고려해야 하기 때문에, 오늘날에는 표기 의미론이 쓰이며, 표기 의미론이란 코드의 의미를 집합론에서 쓰는 수식 표기를 이용해 정의하는 것이다. 이 정의를 통해 기계에 독립적으로 프로그래밍 언어의 의미구조를 정의할 수 있다.