남고생들의 소소한 개발 일지

[JS]함수의 호출, 객체지향 프로그래밍 본문

카테고리 없음

[JS]함수의 호출, 객체지향 프로그래밍

알 수 없는 사용자 2019. 10. 26. 21:37

이번에는 함수의 호출(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

객체지향 프로그래밍