일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ip
- CS
- Algorithm
- html
- react
- 프로젝트캠프
- 메모리
- react-query
- 스나이퍼팩토리
- 인사이드아웃
- 네트워크
- cs #네트워크
- javascript
- App Runner
- IT개발캠프
- typescript
- 알고리즘
- #프로젝트캠프 #프로젝트캠프후기 #유데미 #스나이퍼팩토리 #웅진씽크빅 #인사이드아웃 #IT개발캠프 #개발자부트캠프 #리액트 #react #부트캠프 #리액트캠프
- 타입스크립트
- 개발자부트캠프
- 유데미
- 자바스크립트
- 프로그래머스
- 리액트
- 스레드
- BFS
- React.js
- 해시
- 웅진씽크빅
- 프로세스
- Today
- Total
Bin's Blog
함수와 메서드 본문
먼저, 함수부터 살펴보자!! 함수에 대한 정의를 찾아보면
함수(function)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합이다.

딱 보면 이해하기 너무 어렵다... 쉽게 정리해보자.
함수는 마치 조리법이나 계산 방법과 같은 것이다. 특정 작업을 수행하기 위한 명령을 모아놓은 것이다. 함수를 사용하면 프로그램의 여러 부분에서 동일한 작업 쉽게 반복해서 사용할 수 있다.
예를 들어, 내가 덧셈을 하고 싶은데 너무 귀찮다 그래서 누가 대신 풀어줬으면 좋겠다. 그럴때 함수를 사용한다.
fuction 더하기(a, b) {
return a + b;
}
let result = 더하기(3, 5);
// 8출력
console.log(result);
위의 코드는 더하기 함수이다. result라는 변수에 더하기 함수에 (인자 == 입력값)인 3과 5를 넣어주면 8이 출력된다.
다시 정리하면, 동일한 작업을 쉽게 반복하기 위한 용도로 함수는 사용된다.
다음은 메서드를 살펴보자!! 메서드에 대한 정의를 찾아보면
메서드(method)란 클래스 내부에 정의된 객체에 속한 함수 메서드는 객체의 상태를 변경하거나 객체와 관련된 작업을 수행한다.
메서드는 클래스 안에 있는 작은 도우미이다. 클래스는 어떤 주제에 대한 교과서이다. 예를 들어 "동물"이라는 주제에 대한 교과서가 있다고 생각해 보자. 그 교과서 안에는 동물들의 특징(속성)과 동물들이 할 수 있는 행동(메서드)가 포함되어 있다. 메서드는 특정 작업을 수행하는 역할을 한다. "동물들이 뛰어다닌다"를 설명하는 "뛰다"라는 메서드가 있는데 이 메서드는 동물들에게 "뛰어다니라"라고 시키는 역할을 한다.
class 동물 {
constructor(name) {
this.name = name;
}
run() {
console.log(`${this.name}가 뛰어다닌다!`);
}
}
const dog = new 동물("멍멍이");
const cat = new 동물("고양이");
// 출력:멍멍이가 뛰어다닌다.
dog.run();
// 출력: 고양이가 뛰어다닌다.
cat.run();
위의 코드는 메서드 예시다. 동물이라는 클래스 안에 name이라는 속성이 있고 run()이라는 메서드가 있다.
클래스를 이용해서 강아지랑, 고양이 객체를 만든다. 이제 이 객체들에게 "뛰어다니라"라고 시키려면 run() 메서드를 사용하면 된다.
다시 정리하면, 메서드는 클래스 안에 있는 작은 도우미로서, 특정 작업을 수행할 수 있도록 도와주는 역할이다.
둘에 약간의 차이가 존재한다. 함수는 꼭 동물에 관한 작업만 수행하지 않아도 되기 때문에 독립적으로 작동하는 반면에 메서드는 동물이라고 하는 곳에 속해 있기 때문에 동물에 관련된 작업만 수행할 수 있다.
'프로그래밍 용어' 카테고리의 다른 글
클라이언트 사이드 렌더링 VS 서버 사이드 렌더링 (0) | 2023.08.06 |
---|---|
호스팅 (0) | 2023.07.07 |
라우터와 라우팅 (0) | 2023.06.09 |
런타임에러 (0) | 2023.05.10 |
라이브러리와 프레임워크 (0) | 2023.05.01 |