본문 바로가기

Dev.World/개발상식&언어

[그들이 쓰는 언어] 1. 리터럴




리터럴(literal)

: (어구뜻이) 문자 그대로의,

' 함수 객체는 함수 리터럴로 생성할 수 있다. ' ( 자바스크립트 핵심가이드 / 더글라그 크락포드)

' 리터럴 표기법을 사용해야 한다. ' (개발자 커뮤니티)

' 리터럴은 변수 초기화에 종종 사용된다. ' (위키 백과)

필자는 자바스크립트(JavaScript) 언어를 공부하다가 '리터럴'과 마주하게 됬다.

([그들이 쓰는 언어]를 포스팅하게 된 계기가 리터럴이다.)


리터럴이란 무엇인가

(필자의 리터럴 대면의 순간 느꼈던 낯섬부터 이해하기 까지의 과정이다.)


우선 위키 백과에 검색을 해보았다.

컴퓨터 과학 분야에서 리터럴이란, 소스 코드의 고정된 값을 대표하는 용어이다.(위키백과 인용, 검색어 '리터럴')

고정된 값.

그렇다면 '리터럴은 상수를 의미하는 용어인가?' 라고 생각할 수 있다.

일반적으로 상수를 공부할 때

상수와 비교되는 개념으로 변수를 공부한다.

변수는 프로그램의 실행 중에 상황에 따라 다른 값들을 표현할 수 있는 값을 의미하고

상수는 프로그램 실행 중 항상 같은 값을 표현하는 것을 의미한다.


여기서 리터럴은 어떠한 값을 명칭하는 것이 아니라 변수 및 상수에 저장되는 '값 자체'를 일컫는 말이다.

정수 리터럴, 문자열 리터럴, 배열 리터럴 등 언어의 한 요소로서 리터럴이라고 불린다.



조금 더 상상가능하도록 .

변수나 상수는 메모리에 할당된 '공간'이라면

리터럴은 이 공간에 저장되는 '값'이다.

리터럴은 상수와 마찬가지로 메모리 어딘가에 값이 변하지 않도록 저장이되지만

그 이름이 없다.

즉, 리터럴이란 컴파일[각주:1] 시 프로그램 내에 정의되어있는 그대로 정확히 해석되어야 할 값을 의미한다.



조금 덧붙여서,

코드 상에서 데이터를 표현하는 방식을 리터럴이라고 한다.

일반적으로 객체 중심 혹은 객체 지향 언어에서는 객체의 리터럴 표기법을 지원하게 된다.

리터럴 표기법이란, 변수를 선언함과 동시에 그 값을 지정해주는 표기법을 말한다.

ex) var no = 3;

ex) var obj = {name:'kk', age:"59};

뭔가 우선 변수를 선언하고, 데이터를 담아야 할 것 같지만 이 리터럴 표기법도 가능하다.

리터럴 표기법은 비 정규적인 방법이 아니다.

성능 저하를 불러오지도 않으며, 코드는 더 짧다.

코드가 짧으니 자바스크립트 인터프리터의 해석분량도 즐어들어 더 빨라진다.



리터럴에 대한 포스팅을 하다보니 이 와중에도 그들이 쓰는 언어 몇 가지가 들어가게 되었다...




"

제 개발 공부에 많은 도움을 주시는

여러 블로그를 하시는 개발자님들께 감사드립니다.

"

-..-

  1. 사람이 작성한 프로그래밍 언어를 기계가 이해하는 기계어 코드로 바꿔주는 과정. 더 자세한 설명은 검색으로도 쉽게 구할 수 있다. [본문으로]