프로그램을 구조에서 나오는 용어이다

전통적인 프로그램은 함수기반으로 만들어져있다

C 언어개 대표적인 함수기반언어이지만 이후에 나오는 대부분의 언어는 class 라는 객체기반의 언어로 발전했다

struct -> class 로 확장에 중요한 부분은 속성과 메소드이다

데이타 구조인 struct 인자를 함수가 처리하는 방식이 함수기반이고

오브젝트 구조인 class의 속성을 메소드가 처리하는 방식이 객체기반이다

사과, 유유가 있을때 먹는 방법이 다르다

씹어먹는 기능, 마시는 기능으로 두가지 먹는 방법이 나온다 이런방식이 함수기반이다

음식에 먹는 기능이 있다고 하고

음식->사과->사과먹는법

음식->우유->우유먹는법

이런 형태로 만드는것이 객제기반이다.

Javascript는 하나만 볼때는 함수기반언어이다

Html과 함께 함께사용하면서 elements에 기능이 추가되는 jQuery 는 객체기반 언어이다

javascript에 function 을 잔뜩 만들어서 호출하고 있다면 객체지향언어를 전혀 이해하지 못하고 있는것이다

초급이 사용하는 방법

<button onclick='sub()'>aaa</button>

function sub() { ... }

중급이 사용하는 방법

<button>aaa</button>

$("button").on("click", function() { sub(); } );

function sub() { ... }

고급이 사용하는 방법

<button>aaa</button>

$("button").on("click", function() { ... } );

위 3가지는 비슷해 보이지만 컴파일러와 브라우져입장에서 보면 상당히 다른 내용이다

자신의 코딩스타일이 어떤지 한번 고민해 보기를...