- Method
- 객체의 기능, 동작에 해당하는 코드 블록 {}
- 수학의 함수와 비슷하며 호출을 통해 사용
- 메소드를 호출하게 되면 중괄호 블록에 있는 코드들이 순차적으로 실행
- 메소드는 외부로부터 필요한 값을 전달받을 수도 있고 메소드 실행 후 결과 값을 반환할 수 있음
- 필드를 읽고 수행하는 역할도 하지만, 다른 객체를 생성해서 다양한 기능을 수행하기도 한다
- 객체 간의 데이터 전달 수단으로 사용
- 외부로부터 매개값을 받을 수 있고, 실행 후 어떤 값을 반환할 수도 있음
메소드 선언
[접근 제한자] [예약어] 반환형 메소드명([매개변수]){ ... }
- 메소드 선언은 선언부(리턴 타입, 메소드 이름, 매개변수)와 실행 블록({})으로 구성된다.
- 접근 제한자로는 public, private, default, protected 설정이 가능하다.
- 매개변수는 메소드가 실행할 때 필요한 데이터를 외부로부터 받기 위해 사용된다.
- 메소드를 호출한 곳으로 돌아가면서 결과값을 반환하기 위해 return 문을 사용한다.
public class Member {
private String name;
private int age;
...
public String information() {
return "이름은 " + this.name + ", 나이는 " + this.age + "살 입니다.";
}
}
메소드 호출
- 클래스 내부의 다른 메소드에서 호출할 경우에는 메소드 이름으로 호출하면 된다.
- 클래스 외부에서 메소드를 호출할 경우에는 클래스로부터 객체를 생성한 후 메소드를 호출해야 한다.
- 메소드를 호출하고 리턴 값을 받고 싶다면 변수를 선언하고 대입하면 된다.
- 접근 제한자가 public인 메소드의 경우 도트(.) 연산자를 사용해서 메소드를 호출할 수 있다.
String info = null;
Member member = new Member();
info = member.information();
메소드 오버로딩
- 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것
- 매개값을 다양하게 받아서 필요한 처리를 할 수 있음
- 매개변수의 타입, 개수, 순서 중 하나가 달라야 함
- 매개변수 이름만 바꾸는 것은 메소드 오버로딩 X. 리턴 타입만 다르고 매개변수가 동일한 것도 X
System.out.println(1);
System.out.println(false);
System.out.println('A');
System.out.println("Hello World!");