본문 바로가기

생각/넋두리

아아 기초기초기초...javascript는 객체지향언어.[no!!!!]

오늘 면접보는 자리에서 면접관께서 슬쩍 띄어주셨다.
"javascript 가 객체지향언어인거 아시죠?"

바로 대답하길.... "DOM을 말씀하시는건가요?" 속으로 "모르면 걍 모른다고 대답하라고 좀!!!!!"...

집에 돌아가면서 so smart한 세상에 살고있으니 so smart한 스마트폰으로 구글링.
javascript 객체지향 이라고 검색하니 줄줄줄 나오고
심지어 예문들도 줄줄줄..

사실 javascript 사용하면서 생각없이 간단한 변수 몇개 선언하고 로직삽입해 쓸 줄만 알았지,
객체로 생성하여 사용한 경험이 없다.
솔직히 말하자면 페이스북에도 투덜대듯이 클라이언트 사이드 스크립트언어를 무시하는 경향이 있었다.
물론, jquery 등을 필요에 의해, 필요한 부분만 가져다 쓰면서 "아! 이 놀라운 세상!" 하고 감탄하긴 했지만..

집에 사놓고 짱박아둔 자바스크립트책을 잠시 좀 살펴봐야겠다.

전에 일하던 곳에서 들었던 명언이 생각나는 하루였다.

"프로그래머가 모르는 코드를 삽입하면 잠재된 에러의 시작입니다."


----------------------------------------

2012. 7. 24

javascript는 객체지향언어가 아니다.

프로토타입으로 객체지향을 흉내낼 수 있는 것이지.

아래 링크는 더글라스 크락포드라는 유명한 사람이 쓴 글이다 ㅡㅡ;

(사실.... 어떤 사람인지도 잘 모른다 ㅡㅡ;;;;;;;;;;; 미안해요. 유명한 님...)

어쨌거나 전에 javascript를 객체지향언어라고 확언한 그 면접관님께 잘못된 거라고 알려주고 싶구나.

class를 만들고 그 안에 method, variable property를 선언할 수는 있으며

new 키워드를 통해서 객체화하고 variable을 초기화하고 선언되어있는 method를 사용할 수는 있지만

그렇다하여 객체지향언어라고 하기엔 javascript가 가진 특징은 너무나 많다.

(글구 캡슐화, 상속, 다형성, is-a, has-a 관계 등을 만들기 위해서는 프로그래밍이 많이 복잡해지잖아.)

http://www.crockford.com/javascript/javascript.html