1. 메소드 (Method)
ㅇ `행동할 동작`을 정의한 지시어 또는 그들의 모음
- 例) HTTP 메소드, SIP 메소드 등
. 통상, 지정된 프로토콜,주소 등을 통해, 해당 리소스에 대해 행동할 동작을, 서버 측에 지시
2. [객체지향] `메소드(Method)` or `동작/행위(Behavior)` or `멤버 함수`
ㅇ 객체의 수행 가능한 작업/조작
- 객체가 처리 메세지를 받고, 수행할 구체적인 연산
. 객체 상태 및 속성의 확인,변경 등이 이루어짐
ㅇ 객체 = 프로퍼티 (변수,속성,성질) + 메소드 (처리방법,행동,동작)
= 데이터 멤버 (멤버 변수) + 멤버 함수
3. [객체지향] 메소드 특징
ㅇ 함수와 비슷
- 기존의 프로그래밍 언어에서 볼때 함수와 비슷함
. 즉, 객체 내의 함수 또는 객체 내부에 내장된 함수
- 만일, 프로퍼티 중 값이 함수가 되면 이를 메소드라고함
- 한편, 광의로 메소드도 또한 프로퍼티의 일종으로 보기도 함
- [참고]
. Java,C++ 언어에서는, 객체 내 프로퍼티,메소드를 별개로 다루나,
. 자바스크립트에서는, 메소드를 함수 값을 갖는 또하나의 프로퍼티로써 취급함
ㅇ 다양한 기능 수행
- 객체가 속하는 클래스를 정의하면, 그 객체에 메소드(멤버함수)를 통해 접근 가능하며,
- 주어진 클래스 객체의 프로퍼티 접근, 속성,값 변경 등 다양한 기능을 메소드를 통함
ㅇ 상세 수행이 보이지 않음
- 외부에서 객체 메서드를 호출할 때,
- 그 내용이 내부적으로 어떻게 구성되었는지는 정확하게 알 수 없음
4. [객체지향/자바언어] 메소드 선언 문법
ㅇ 형식 : < 수식자 > < 반환 타입 > < 메소드명 > ( < 인수 타입 > < 인수명 >, ... ) { // 메소드 본체 }
- 수식자 (접근제어자) ☞ 수식자(Modifier) 참조
. 例) public, static, final, protected 등
- 반환 타입
. 반환 값 없는 경우에는, void 를 지정
- 메소드명 ☞ 명명규칙 참조
- 인수는,
. 타입과 명칭의 쌍으로 선언하며
. 메소드 호출시에, 값을 인수로써 건넬 수 있음
ㅇ 한편, main 메소드 는,
- 자바 프로그램 실행시, 호출 시작점이 되는 특수한 메소드로써,
- 자바 프로그램에는 반드시 존재해야 함
- 例) public static void main(String... arg) { }
5. [객체지향/자바언어] 정적 메소드, 인스턴스 메소드 비교
ㅇ 정적 메소드
- 클래스를 인스턴스화하지 않고서도 호출할 수 있는 특수한 메소드
. 어떤 단일 인스턴스화된 하나의 객체로는 할 수 없는,
. 하나의 클래스 그 자체와 관련된 작업을 할 때 유용
- 흔히, 함수 라고도 하며, C 언어의 C 함수 처럼 동작
ㅇ 인스턴스 메소드
- 클래스로부터 생성된 객체/인스턴스의 메소드
. 인스턴스에 종속된 메소드