반응형
함수 vs 메서드
프로그래밍을 하다 보면 함수와 메서드를 혼용해서 사용하지만 정확한 뜻은 모르고 사용하다 보니 잘못 지칭하는 경우가 발생합니다. 언뜻 보면 비슷하다고 생각할 수 있지만 정확하게 알아가기 위해 기록해보려 합니다.
함수와 메서드 모두 기능을 수행해 주는 공통점이 있습니다. 하지만 어떤 차이가 있을지 이 두 가지 개념의 차이를 프로그래밍 관점에서 정의하고 비교하며 알아보겠습니다.
함수, Function
함수란 특별한 목적이 있는 작업을 수행하기 위해서 독립적으로 만들어진 코드입니다. 사용자의 요청에 원하는 결과를 반환해 주며 이를 위해 독립적으로 존재합니다.
예를 들어 두 수를 받아 덧셈을 수행해 주는 함수, 주문번호를 만들어주는 함수, 택배를 등록해 주는 함수, 데이터베이스에 데이터를 알맞게 저장해 주는 함수 등 다양한 함수가 존재하고 있습니다.
// 두 숫자를 받아서 덧셈을 처리한 후 반환해주는 함수
const add = (int a, int b) => {
return a + b;
}
// 아래와 같이 독립적으로 사용된다.
let result = add(3, 5);
console.log(result); // 8
💡 함수를 사용하는 가장 큰 이유는 반복적인 코드 작성을 줄여주기 때문이다.
메서드, Method
메서드란 클래스및 객체에 포함되어 있는 함수를 말합니다. 다른 말로 클래스 함수라고도 불리며 클래스 안에 있기 때문에 클래스에 대한 객체가 생성되어야 사용할 수 있습니다.
// 수학을 담당하는 클래스
class Math {
constructor(a, b){
this.number_1 = a;
this.number_2 = b;
}
// 곱셈을 처리하는 함수
multiply(){
return this.number_1 * this.number_2;
}
}
// 아래와 같이 클래스 안에 있는 함수를 호출해서 사용한다.
let calculation = new Math(3, 5);
let result = calculation.multiply();
// 따라서 이것을 클래스 함수 또는 메서드라고 부른다.
console.log(result);
정리
함수와 메서드는 어떠한 기능을 수행하기 위해서 만들어진 코드라는 공통점이 있습니다. 하지만 메서드는 클래스 및 객체와 연관되어 있는 함수라는 점이 둘의 차이점입니다.
✓ 함수 - create(), delete()와 같이 독립적으로 호출
✓메서드 - Class.update(), Object.select()와 같이 의존적으로 호출
💡 따라서 함수가 메서드를 포함하고 있는 개념!
Reference
반응형
'PROGRAMMING > CS' 카테고리의 다른 글
[CS] HTTP Method ( http 요청 메서드 정리 ) (19) | 2023.04.09 |
---|---|
[CS] HTTP Status / Response Code ( Http 상태 / 응답 코드 정리 ) (45) | 2023.04.07 |
[CS] 블로킹과 논블로킹 그리고 동기와 비동기 (feat.Javascript) (36) | 2023.03.21 |
[CS] 함수형 프로그래밍의 특징(feat.Javascript) (36) | 2023.03.13 |
[CS] Argument와 Parameter의 차이 쉽게 이해하기 (feat. 인수 / 인자 / 매개변수 용어 정리) (36) | 2023.03.09 |