분류 전체보기 (664) 썸네일형 리스트형 "계약서를 다시 검토할 수 있을까요?" 영어로 표현해 봅시다 오늘 배워볼 표현은 흔히 사용하게 되는 '검토'와 관련된 표현입니다. 계약서, 메일, 보고서부터 각종 서류와 영수증에 이르기까지 우리는 많은 문서와 산출물들을 훑어보고 검토하게 됩니다. 이와 관련된 표현을 자연스럽고, 그리고 자신 있게 표현할 수 있도록 배워보도록 하겠습니다! 우선 어떤 것을 '검토하다'는 표현을 영어로 표현하게 되었을 때 어떤 표현을 사용하시나요? 몇 가지 머릿속에 떠오르는 표현이 있을 것입니다. 그리고, 그 단어나 문장은 대부분 크게 무리가 없는 표현일 것으로 보입니다. 아마 'review' 또는 'check'를 떠올리셨을 텐데요, 한 번 예문을 만들어 보겠습니다. "계약서를 다시 검토할 수 있을까요?" (Can I review the contract again?) 무리 없이 문장이 .. 13. Javascript 객체지향 프로그래밍(2) - 프로토타입 상속 구현 3 이번에는 앞서 진행했던 extend( ) 함수의 작성 예제를 사용해, 우리가 예제로 만들어 보았던 Rapper 객체를 통한 자식 객체를 생성한 후 해당 자식 객체를 확장하는 사례를 만들어 보겠습니다. var Rapper = { name : "QM", getName : function() { return this.name; }, setName : function(value) { this.name = value; } }; function create_object(o) { function F() {} F.prototype = o; return new F(); } function extend(obj, prop) { if( !prop ) { prop = obj; obj = this; console.log(this.. 13. Javascript 객체지향 프로그래밍(2) - 프로토타입 상속 구현 2 지금까지 새로 생성된 객체(자식 객체) 들이 부모 객체(생성자 함수)의 메서드를 그대로 '상속'받아 사용하는 케이스를 살펴보았습니다. 여기에 하나 더 필요한 기능이 있죠. 부모 객체를 상속하는 자식 객체들이 자신들만의 고유의 메서드를 추가하는 기능입니다(또는 기존 메서드를 재정의하여 자신만의 메서드로 사용). 사실 이 기능은 크게 어려울 것이 없습니다. 아래와 같이 특정 객체의 메서드를 선언하고 정의하면 끝나는 일이니까요. hypeBoy.setName = function(value) { //... }; hypeBoy.getName = function() { //... }; 하지만 이 단순한 방법은 코드가 복잡해지게 만드는 원인이 됩니다. 이제부터는 jQuery의 extend( ) 함수를 사용하는 방법과 .. 13. Javascript 객체지향 프로그래밍(2) - 프로토타입 상속 구현 1 우선은 상속 개념을 구현하는 데 있어서 Javascript의 프로토타입 개념을 이용해 구현하는 방식을 살펴보도록 하겠습니다. 다시 한번 미리 말씀드리지만, 이 챕터의 내용들을 원활하게 이해하기 위해서는 Javascript의 프로토타입에 대한 기본 동작 원리를 이해하고 있어야 합니다. 아직 이해가 부족하거나 잘 생각이 나지 않는다면, 앞서서 살펴보았던 내용들을 다시 한번 복습하고 오시기 바랍니다. 우선은 아래의 코드를 프로토타입 동작 기본 원리에 의거해 해석해 보도록 하겠습니다. function create_object(o) { function F() {} F.prototype = o; return new F(); } 위의 코드는 더글라스 크락포드의 Javascript에서의 객체 상속 방법 예제 코드입니다.. 13. Javascript 객체지향 프로그래밍(1) - 클래스 구현 2 앞서 살펴본 클래스 구현 예시는, 생성자 함수를 선언하고 나서 new 키워드를 통해 이 생성자 함수를 [[Prototype]]으로 바라보게 되는 객체를 생성해 부모-자식의 관계를 형성하는 기본적인 예제를 살펴보았습니다. 이와 관련하여, 더글라스 크락포드가 제시한 prototype 기반의 메서드 선언 방식도 살펴보도록 하겠습니다. 아래 예제 코드는 최상위 Function 객체의 프로토타입에 정의한 메서드입니다. 해당 메서드를 통해, 특정 객체의 프로토타입 메서드를 선언하는 구조를 살펴봅시다. Function.prototype.method = function(name, func) { if(!this.prototype[name]){ this.prototype[name] = func; } }; 위에서 선언한 m.. "그 건은 제가 알아보고 연락 드릴게요." 영어로 표현해 봅시다 오늘 배워볼 표현은, 메일이나 전화 혹은 미팅에서 마무리할 때 혹은 어떤 문제에 대한 결론을 내릴 때 자주 사용하는 표현입니다. 미팅이나 협의, 전화를 하는 과정에서 즉답을 하기 어렵거나 다른 담당자의 확인이 필요한 부분들, 혹은 쟁점이 되는 부분들에 대해서 질문을 받거나 다른 계약서를 찾아봐야 하는 경우가 생깁니다. 이때, 우리는 자연스럽게 "좀 더 알아 보고 연락드리겠습니다." 같은 표현 을 사용해 질문을 마무리하게 됩니다. 참고로 [나중에 연락드리겠다]는 표현은 다른 아티클에서 다루었던 내용이니 아래 링크를 먼저 참고해 주셔도 좋습니다. "며칠 내로 답을 회신 드리겠습니다." 영어로 표현해 봅시다 오늘 살펴볼 표현은, 메일이나 전화 그리고 계약조건 논의 과정에서 사용할 수 있는 문장입니다. 아마 여.. 13. Javascript 객체지향 프로그래밍(1) - 클래스 구현 1 우선 JAVA나 C# 등의 객체지향 프로그래밍 언어와 Javascript에서의 클래스 구현 방식과 개념은, 상당히 다른 구조로 설계되어 있습니다. 전자가 기본적으로 클래스 구조가 설계도로서 존재하고, 이를 바탕으로 인스턴스가 생성되는 구조인데 반해 Javascript는 모든 것이 객체를 중심으로 돌아갑니다. 현재로서는 자세히 이해가 가지 않을 수 있지만, 일단은 이렇게 기억합시다. Javascript의 객체 중심의 구조를 통해, 다른 프로그래밍 언어에서 사용하는 클래스의 개념을 구현한다 - 정도로요. 우선, 이 챕터의 아티클을 학습하기 위해서는 앞서 배웠던 프로토타입( [[Prototype]], prototype )에 대한 이해가 선행되어야 합니다. 중간에 이해가 가지 않는 부분이 있다면, Javascr.. 12. Javascript 클로저(Closure)(3) - 클로저 주의사항 이번 아티클에서는 이제까지 살펴본 클로저의 기본 특성 이외에, 주의하거나 기억해야 할 예외적인 상황들에 대해서 하나씩 살펴보도록 하겠습니다. 우선, 클로저의 프로퍼티 값 - 즉 클로저가 참조하게 되는 자유 변수는 무의식적으로 '읽기'를 통한 참조만 가능하다고 생각하기 쉽습니다. 하지만 이 자유 변수는 클로저(함수)를 통해서 쓰기도 가능하다는 특징을 갖고 있습니다. 만일 클로저 함수를 반복해서 호출하여 실행할 경우에는 그 값이 바뀔 수 있다는 점을 기억해야 합니다. 예제를 통해서 살펴보겠습니다. function outerFunc(argNum) { var num = argNum; return function(x) { num += x; console.log('num: ' + num); } } var resul.. 이전 1 ··· 68 69 70 71 72 73 74 ··· 83 다음