자바에서 메소드(method)는 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 객체가 수행할 수 있는 동작을 정의한 함수입니다.
메소드는 클래스 내에 선언되며, 클래스의 멤버로서 객체가 호출하여 사용할 수 있습니다.
자바에서 메소드는 다음과 같은 구조를 따릅니다.
[접근제어자] [static] 반환타입 메소드이름([매개변수]) {
[메소드 구현부]
[return 반환값;]
}
위 구조에서 "접근제어자"는 메소드의 접근 권한을 설정하는 키워드로, public, private 등이 사용될 수 있습니다.
"static" 키워드는 메소드가 클래스 메소드인지 인스턴스 메소드인지를 결정하는데 사용됩니다.
"반환타입"은 메소드가 반환하는 값의 자료형을 나타내며, 반환하지 않는 경우 void로 정의됩니다. "메소드이름"은 메소드의 이름을 나타내며, 이름 규칙은 변수와 동일합니다.
"매개변수"는 메소드가 받는 입력값으로, 필요하지 않은 경우 생략할 수 있습니다. "메소드 구현부"는 메소드가 수행하는 동작을 정의하는 부분이며, 중괄호({})로 묶어서 구현합니다.
"return"은 메소드가 반환하는 값을 지정하는 키워드로, 반환하지 않는 경우 생략할 수 있습니다.
예를 들어, "Person" 클래스에 "sayHello"라는 메소드를 추가할 수 있습니다.
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello() {
System.out.println("안녕하세요, 저는 " + name + "입니다.");
}
}
위 클래스에서 "sayHello" 메소드는 "void"를 반환하며, 매개변수를 받지 않습니다. 메소드 구현부에서는 "System.out.println"을 사용하여 메시지를 출력합니다.
이렇게 정의된 메소드는 객체를 생성하여 호출할 수 있습니다.
Person person = new Person("홍길동", 30);
person.sayHello();
위 코드에서 "Person" 클래스의 "person" 객체를 생성하고, "sayHello" 메소드를 호출하여 "안녕하세요, 저는 홍길동입니다."라는 메시지를 출력합니다.
메소드는 클래스의 기능을 확장할 수 있는 중요한 수단이며, 다양한 상황에서 사용됩니다. 메소드는 매개변수를 받아서 처리하는 경우도 있으며, 반환값을 가질 수도 있습니다.