강좌 & 팁
안녕하세요. 송기석입니다.
오늘은 자바스크립트의 상속에 대하여 이야기 하려고 하다 보니 조금 딴 곳으로 빠졌습니다.
프로그램밍 언어의 계보
상속을 이야기하기 앞서 간단한 프로그래밍 언어의 계보를 보면
1. 기계어(machine), 니모닉(mnemonic)
2. 어셈블리어(assembly), 저급언어(low-level)
3. 고급언어(high-level)
입니다.
보통 기계어 -> 어셈블리어 -> 고급언어로 분류하는데
기계어는 말 그대로 기계가 알아 들을 수 있는 언어 입니다. 0과 1로 이루어진 기계어는 사람이 보기에는 어렵습니다. 넓은 해변에 모래가 몇 개인지 보는 듯한 느낌일 것 같습니다. 기계어를 보통 볼 때 00101110 00010111 01001100 1010100 (32비트) 식으로 많이 봅니다.
니모닉은 0과 1은 보기가 너무 어려워 알아보기 쉬운 니모닉 기호를 정하여 mov al, 061h로 바꿉니다. 이렇게 니모닉을 정하여 일련의 명령어를 나타낸 것이 어셈블리어 입니다. 어셈블리어는 저급언어로 불립니다.
여기까지는 보통 기계 측면이 강하고 고급언어부터는 사용자 측면이 강합니다. 필자는 고급언어를
함수 -> 클래스 -> 프로토타입
로 분류합니다. 설명하고 싶은 상속은 클래스부터 입니다. 상속은 코드의 재사용성을 높여주는 기법으로 이전에 사용한 코드에서 다른 부분만 다시 새로 선언하여 사용합니다. 상속을 설명하고 싶은 자바스크립트는 프로토타입 기반의 언어입니다.
우리가 배우는 자바스크립트는 현재까지 나온 언어로 보면 마지막에 가까운 언어입니다. 그러다 보니 프로토타입의 개념이 어렵습니다. 잘못 사용하면 프로토타입을 클래스처럼 생각할 수 도 있지만 클래스와는 다른 개념입니다. 어떻게 다르냐 하면… 다음번 강좌에 이어서...
상속에 대한 내용을 하기 앞서 정리하다 보니 엄한 내용을 쓴것 같습니다. 다 아는 내용일 수도 있고, 저처럼 모르는 내용(니모닉을 처음 봄) 이 있을 수도 있습니다. 좋은 하루 되세요.