나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-09-28 12:01:05

메서드(프로그래밍)


1. 개요2. 예제
2.1. 자바에서2.2. 하스켈에서

1. 개요

2. 예제

2.1. 자바에서

1: public class Calculate {
2:    public int sum(int a, int b) {
3:       return a + b;
4:    }
5: }
위 예제 소스는 자바로 작성된 것으로 프로그래밍 언어별로 구현 방식이 다를 수 있다.

위 소스에서 2~4번 줄이 메서드에 해당되는 영역이다. Calculate라는 class 하위에 종속되어있는 sum이라는 동작을 실행하게 된다.

다른 클래스에서 sum 메서드를 사용하고자 하면 Calculate.sum(2, 3); 이런 식으로 호출하는게 보통이다.
1: abstract class Calculate {
2:   abstract int sum(int a, int b);
3: }
위 예제 소스는 추상 메서드이며 메서드의 상세 실행 내용을 작성하지 않은 모양세에서 보이듯이 인터페이스를 명시하기 위해 사용된다. 추상 클래스를 인터페이스로 받아서 사용하면 추상 메서드를 하위에서 정의해서 사용해야 한다.

2.2. 하스켈에서

하스켈에서 타입 클래스에 정의된 함수를 메서드로 부르기도 한다. 예를 들어 타입 클래스 Eq에 정의된 함수 ==는 메서드이다.
class Eq a where
  (==) :: a -> a -> Bool
타입 클래스 모나드에 정의된 함수 >>=도 메서드이다.
class Monad m where
  (>>=) :: m a -> (a -> m b) -> m b