남고생들의 소소한 개발 일지
[JS]함수의 호출, 객체지향 프로그래밍 본문
이번에는 함수의 호출(call, apply, bind)과, 객체지향 프로그래밍에 대해 설명하고자 한다
함수의 기본적인 호출하는 방법은 아래와 같다
function test(){
}
test();
함수에 대해 좀더 새 부적인 설명을 보고 싶으면 [JS] 함수, 입출력 참고하자.
call과 apply부터 살펴보자. 원래 함수는 선언한 후 호출해야 실행이 된다.
함수를 호출하는 방식은 2가지의 방법이 있다
첫 번째로 함수 이름 뒤에 (); 를 붙이는 방법
두 번째로 함수 이름. call/apply.bind(객체, 인수/[인수]) 사용하는 방식이 있다
var example = function (a, b, c) {
return a + b + c;
};
example(1, 2, 3);
example.call(null, 1, 2, 3);
example.apply(null, [1, 2, 3]);
보면 call은 보통 함수와 똑같이 인자를 넣고, apply는 인자를 하나로 묶어 배열로 넣는 것을 알 수 있다.
여기서 null의 인자 역할은 this를 대체하는 역할을 한다.
this란 함수 실행에서의 전역 개체를 뜻한다.
내가 준비한 함수의 호출 설명은 여기까지이다 이제 객체지향 프로그래밍에 대해 알아보자
객체지향 프로그래밍(Object-Oriented Programming)이란 , 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
이 객체지향 프로그래밍의 장, 단점에 대해 알아보자
-장점
1. 코드 재사용이 용이하다
-남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장 사용이 가능하다
2. 유지보수가 쉽다.
-절차 지향 프로그래밍과 달리 수정해야 할 부분은 클래스 내부에 멤버 변수 혹은 메서드로 있기 때문에 해당 부분만 수정 하면 되므로 유지보수가 쉽다.
3. 대형 프로젝트에 적합하다.
-클래스 단위로 모듈화 시켜서 개발할 수 있으므로 대형 프로젝트처럼 여러 명, 여러 회사에서 개발이 필요할 시 업무 분담하기 쉽다.
-단점
1. 처리속도가 상대적으로 느리다.
2. 객체가 많아지면 용량이 커질 수 있다.
3. 설계에 많은 시간과 노력이 필요하다.
내가 준비한 설명은 여기까지이다 문제점 또는 보완할 점은 댓글로 댓글로 남겨주길 바란다.
참고
함수의 호출 - 생활코딩
함수호출 함수에 대한 기본 수업에서 함수를 호출하는 방법을 알아봤다. 아래는 함수를 호출하는 가장 기본적인 방법이다. function func(){ } func(); JavaScript는 함수를 호출하는 특별한 방법을 제공한다. 본 토픽의 시작에서 함수를 객체라고 했다. 위의 예제에서 함수 func는 Function이라는 객체의 인스턴스다. 따라서 func는 객체 Function이 가지고 있는 메소드들을 상속하고 있다. 지금 이야기하려는 메소드는 Func
opentutorials.org