메서드는 클래스 내부에서 정의된 함수를 말한다. 클래스 내에서 특정 기능을 수행하는 코드의 모음이며, 중복되는 코드를 줄이고 유지보수를 쉽게 하기 위한 도구이다.이 기능이란, 데이터를 입력받고 처리한 후 결과값을 반환하는 것을 의미한다.
메서드의 이름을 정하고 중괄호 {}
안에 변수, 제어문, 실행문 등을 적는다.
🤙🏻 메서드명 규칙:
메서드는 작업을 완료한 후 결과값을 반환할 수 있다. 이때 반환할 데이터의 타입을 리턴 타입이라고 한다.
// 예시
public int sum(int a, int b) {
return a + b; // int 타입의 리턴값
}
public void printMessage() {
System.out.println("Hello!"); // void 타입, 리턴값 없음
}
void
로 선언하며, 이 경우 반환할 값이 없기 때문에 return
키워드 없이 메서드가 종료된다.📌 리턴된 값은 메서드를 호출한 곳으로 다시 전달된다.
메서드를 호출하려면 먼저 객체를 생성해야 한다. 메서드와 필드는 객체에 속해 있으므로, 객체가 없으면 메서드 역시 존재하지 않는다. 따라서, 객체 참조 변수를 통해 메서드를 호출한다.
// 객체 생성 후 메서드 호출
Person person = new Person();
person.getName(); // 객체 참조 변수를 통해 메서드를 호출
매개변수가 없는 메서드는 괄호 안에 아무것도 넣지 않지만, 매개변수가 있는 메서드는 인자를 전달해야 한다.
코드의 재사용성
메서드는 여러 번 호출될 수 있으므로, 반복적인 코드를 제거하고 모듈화할 수 있다. 한 번 선언된 메서드는 필요할 때마다 호출만 하면 된다.
유지보수의 용이성
메서드를 사용하면 코드 수정 시 특정 메서드만 수정하면 되므로 유지보수가 쉽다.
입력에 따른 동작 변화
메서드는 입력값에 따라 다른 결과값을 반환할 수 있어 동적인 프로그래밍이 가능하다.
반복문도 여러 번 실행하는 코드의 묶음이지만, 메서드는 코드에 이름을 부여하여 더 모듈화된 형태이다. 메서드를 사용하면 코드를 더 구조적으로 작성할 수 있다.
메서드는 객체가 생성될 때마다 메모리에서 서로 다른 위치에 저장된다. 인스턴스 메서드는 클래스의 인스턴스(객체)마다 독립적으로 동작하는데, 이는 각각의 객체가 독립적인 데이터를 가지고 있기 때문이다.