만들고 싶은 프로그램이 있다면, 그 프로그램을 구성하고 있는 객체들이 메모리에 몇 개가 올라가고, 메모리에 올라간 객체들 간에는 어떤 고나계를 맺어야 할까?를 생각한 후 클래스를 작성해야 한다.
의도는 "메시징"이다.
훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈 내부의 속성과 행동이 어떤가보다, 모듈이 어떻게 커뮤니케이션하는가에 달려있다.
Alan Curtis Kay
[접근제한자] [static] 리턴type 메소드이름([매개변수, ......]) {
실행문
}
*메소드 이름은 소문자로 시작하는 것이 관례
매개변수는 메소드의 정의 부분에 나열되어 있는 변수들을 의미하며, 전달인자는 메소드를 호출할 때 전달되는 실제 값을 의미한다.
public class VendingMachine {
public String pushProductButton(int menuId) {
System.out.println(menuId + "를 전달받았습니다.");
return "콜라";
}
}
public class VendingMachineMain {
public static void main(String[] args) {
VendingMachine vm1 = new VendingMachine();
VendingMachine vm2 = new VendingMachine();
String product = vm1.pushProductButton(100);
System.out.println(product);
}
}