함수: 재사용될 기능을 정의하는 코드 블록, 일반적으로 특정 작업을 수행하거나 값을 반환함
계산, 문자열처리, 데이터 변환 등 공통 작업을 구현할때 사용
메서드: 객체에 프로퍼티로 정의된 함수, 객체의 동작과 상태변경을 정의함
객체의 데이터와 관련된 기능을 캡슐화해 외부에서 객체의 내부 상태를 직접 변경하지 않도록 보호함
생성자: 새로운 객체를 생성하고 초기화하는 함수
동일한 구조, 초기 상태를 갖는 여러 객체를 생성할때 사용, 상속이 필요할때 사용
함수(Function) | 메서드(Method) | 생성자(constructor) | |
---|---|---|---|
정의 | 반복적인 작업이나 특정 기능을 정의하는 코드 블록 | 객체의 프로퍼티로 사용돼 객체의 상태 변경을 정의하는 함수 | 새로운 객체를 생성하고 초기화하는 함수 |
사용 시기 | 특정 작업을 수행하고 결과를 반환하는 코드 블록이 필요할 때 | 객체의 상태와 관련된 기능을 캡슐화해 외부에서 직접 변경 불가하도록 보호할 때 | 동일한 구조, 초기 상태를 갖는 여러 객체를 생성할때, 상속이 필요할 때 |
호출 | 함수는 직접 호출 가능 | 마침표 표기법 or 대괄호 표기법으로 호출 | new 키워드와 함께 호출 |
연결성 | 함수는 자체적으로 존재(전역 객체와 연결돼 있긴 함) | 메서드는 객체와 연결되어 있음 |