1. 메소드 (Method)
ㅇ `행동할 동작`을 정의한 지시어 또는 그들의 모음
- 例) HTTP 메소드, SIP 메소드 등
. 통상, 지정된 프로토콜,주소 등을 통해, 해당 리소스에 대한 동작을, 서버에 지시
2. [객체지향] `메소드(Method)` or `동작/행위(Behavior)` or `멤버 함수`
ㅇ 객체의 수행 가능한 작업/조작
- 객체는 외부로부터 메시지를 받고, 이에 따라 메소드가 구체적인 연산 수행
. 例) 객체의 속성 확인,변경 등이 이를롱해 이루어짐
ㅇ 객체 구성
- 객체 = 프로퍼티 (속성,변수,성질) + 메소드 (행동,처리방법,동작)
= 데이터 멤버 (멤버 변수) + 멤버 함수
3. [객체지향] 메소드의 특징
ㅇ 함수와 유사함
- 객체 내부에서 정의되는 함수로, 객체 상태를 조작함
- 프로퍼티 중 함수형 값을 갖는 경우 → 이를 메소드라 함
- 자바스크립트에서는, 메소드도 프로퍼티의 일종으로 간주
. (즉, 함수를 값으로 갖는 프로퍼티)
- Java, C++에서는, 프로퍼티와 메소드를 별개로 다룸
ㅇ 기능 다양성
- 클래스에 정의된 메소드를 통해, 객체의 속성 접근,변경 등 다양한 연산 수행 가능
ㅇ 캡슐화 (Encapsulation)
- 외부에서 메소드를 호출 가능하나, 내부 구현 세부사항은 보이지 않음
4. [객체지향/자바언어] 메소드 선언 문법
ㅇ 형식
<수식자> <반환타입> <메소드명>(<매개변수타입> <매개변수명>, ...) {
// 메소드 본체
}
- 수식자 (접근제어자) : public, static, final, protected 등 ☞ 수식자(Modifier) 참조
- 반환 타입 : 반환값 없을 때 void 지정
- 메소드명 ☞ 명명규칙 참조
- 매개변수(Parameter) : 타입과 이름의 쌍으로 선언, 호출 시 인자 전달
ㅇ 例) main 메소드
- 자바 프로그램의 실행 시작점이며 반드시 존재해야 하는 특수한 메소드
. (형식) public static void main(String... args) { }
5. [객체지향/자바언어] 생성자 (Constructor)
ㅇ 클래스와 동일한 이름을 가진 특수한 메소드
- 객체가 생성될 때 자동 호출되어 초기화 작업 수행
- 반환 타입이 없으며, 오직 객체 초기 설정용으로 사용됨
class Example {
int x;
Example(int value) { // 생성자
x = value;
}
}
6. [객체지향/자바언어] 정적 메소드, 인스턴스 메소드 비교
ㅇ 정적 메소드
- 클래스를 인스턴스화하지 않고서도 호출할 수 있는 특수한 메소드
. 어떤 단일 인스턴스화된 하나의 객체로는 할 수 없는,
. 하나의 클래스 그 자체와 관련된 작업을 할 때 유용
- 흔히, 함수 라고도 하며, C 언어의 C 함수 처럼 동작
ㅇ 인스턴스 메소드
- 클래스로부터 생성된 객체/인스턴스의 메소드
. 인스턴스에 종속된 메소드
※ (비교 요약) [범례 : ① 정적 메소드, ② 인스턴스 메소드
- 소속 : ① 클래스 자체, ② 인스턴스(객체)에 종속
- 호출 방식 : ① 클래스명.메소드명(), ② 객체명.메소드명()
- 특징 : ① 객체 생성 없이 호출 가능, ② 각 객체의 고유 상태를 다룸
- 예시 : ① Math.sqrt( ), String.valueOf( ), ② obj.toString( ), obj.equals( )