
메서드는 클래스가 가지고 있는 기능입니다.
앞의 포스트처럼 자동차 공장을 예시로 들어봅시다.
자동차 공장에서는 자동차를 생산할 때
일련 번호, 이름 과 같은 필드(속성)을 가지게 됩니다.
이처럼 필드는 자동차에 대한 '상태' 를 나타냅니다.
하지만 자동차가 이름과 번호만 가졌다고 굴러가는것은 아닙니다.
자동차에는 전진, 후진과 같이 굴러가는 행동을 위한 기능도 필요하죠.
이처럼 메소드는 자동차의 '행동' 을 위해 쓰입니다.
메소드는 일종의 함수라고 생각해도 편합니다.
일종의 입력값이 들어오고 함수에서 입력값을 처리해줍니다.
그리고 그 결과값을 내보냅니다.
이때 입력값을 매개변수(Parameter) 또는 인자(Argument) 라고 하고
결과값을 리턴값이라고 합니다.
둘 다 입력값이긴 하나 조금의 차이는 있습니다.
인자(Argument)는 어떤 함수를 호출시에 전달되는 값을 말합니다.
매개변수(Parameter)는 인자가 전달한 값을 받아들이는 변수를 의미합니다.
// 자동차 공장
public class Car {
String name;
int carNumber;
//method1
public void attach10(int carNumber){
String finalCarNumber="10" + Integer.toString(carNumber) ;
System.out.println(finalCarNumber);
}
//method2
public void bigLetter(String name){
String finalLetter=name.toUpperCase();
System.out.println(finalLetter);
}
}
public class CarExam {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
c1.name = "bmw";
c1.carNumber=1212;
c2.name = "audi";
c2.carNumber= 2323;
System.out.println(c1.name);
System.out.println(c1.carNumber);
c1.bigLetter(c1.name);
c1.attach10(c1.carNumber);
System.out.println("------------------------------------");
System.out.println(c2.name);
System.out.println(c2.carNumber);
c2.bigLetter(c2.name);
c2.attach10(c2.carNumber);
}
}
