메소드(method)는 객체 지향 프로그래밍(Object-Oriented Programming, OOP)에서 객체가 수행할 수 있는 동작을 정의한 함수 혹은 절차를 의미한다. 메소드는 클래스(class)의 일부분으로, 클래스의 인스턴스인 객체가 호출할 수 있으며, 해당 객체의 상태(속성, 변수)를 조작하거나, 특정 작업을 수행하는 데 사용된다.
메소드는 일반적으로 다음과 같은 요소로 구성된다:
1. 접근 지정자(Access Modifier): 메소드의 접근 범위를 설정한다. 주로 사용되는 접근 지정자는 public, private, protected 등이 있으며, 이는 메소드가 어디에서 호출될 수 있는지를 결정한다.
2. 반환 타입(Return Type): 메소드가 작업을 수행한 후 반환하는 값의 데이터 타입을 정의한다. 반환 타입이 없는 경우(void)를 지정할 수 있다.
3. 메소드 이름(Method Name): 메소드를 호출하는 데 사용되는 이름으로, 해당 메소드의 기능을 설명할 수 있도록 의미 있는 이름을 사용하는 것이 일반적이다.
4. 매개변수(Parameter): 메소드로 전달되는 입력값을 정의한다. 매개변수는 메소드가 호출될 때 제공되는 인자들을 받아서 메소드의 내부 로직에서 사용하게 된다.
5. 본문(Body): 메소드의 동작을 정의하는 코드 블록으로, 실제로 데이터를 처리하거나 작업을 수행하는 로직이 포함된다.
메소드는 크게 두 가지 종류로 나눌 수 있다:
- 인스턴스 메소드(Instance Method): 특정 객체에 속하며, 그 객체의 상태를 변경하거나 객체와 관련된 작업을 수행한다. 인스턴스 메소드는 반드시 객체의 인스턴스를 통해 호출되어야 한다.
- 정적 메소드(Static Method): 클래스에 속하며, 특정 객체에 종속되지 않고 호출할 수 있다. 정적 메소드는 클래스 이름을 통해 직접 호출할 수 있으며, 클래스의 기본 상태나 데이터를 다룬다.
메소드를 활용함으로써 코드의 재사용성을 높이고, 프로그램의 구조를 명확하게 하며, 유지보수를 용이하게 할 수 있다. 메소드를 적절히 설계하고 활용하는 것은 객체 지향 프로그래밍의 중요한 원칙 중 하나로, 모듈성과 캡슐화를 유지하는 데 도움을 준다.