Ch6-17~19. 메서드의 실행
0. 목차
Chapter6. 객체지향 프로그래밍Ⅰ
Ch6 - 17. 메서드의 호출
Ch6 - 18. 메서드의 실행 흐름
Ch6 - 19. 메서드의 실행 흐름 예제
Ch6 - 17. 메서드의 호출
▶ 메서드 call
▷ 메서드를 불러서 일 시키는 역할
▷ 메서드 호출 방법
메서드이름(작업에 필요한 값1, 값2, ...); // 값 없을 땐 () 빈칸으로 호출
- void
print99danAll();
을 console에 뿌리고 끝
저장하지 않음
print99danAll(); // void print99danAll();
- int
add(3, 5)
의 결과값int 8
을
result에 저장
int add(int x, int y) { int result = x + y; return result; } int result = add(3, 5);
▶ 매개변수(parameter)
▷ 호출과 메서드 사이, 매개체 역할
▶ 실습
▷ 사칙연산 클래스 + 메서드를 만들고, 호출하여 사용
class Hochul {
public static void main(String[] args) {
SachickYounsan sy = new SachickYounsan();
long addResult = sy.add(5, 2);
long subResult = sy.sub(5, 2);
long multiResult = sy.multi(5, 2);
long divResult = sy.div(5, 2);
System.out.printf("+ = %d\n", addResult);
System.out.printf("- = %d\n", subResult);
System.out.printf("× = %d\n", multiResult);
System.out.printf("÷ = %d\n", divResult);
}
}
class SachickYounsan {
long add(long a, long b) { return a + b; }
long sub(long a, long b) { return a - b; }
long multi(long a, long b) { return a * b; }
long div(long a, long b) { return a / b; }
}
// console
+ = 7
- = 3
× = 10
÷ = 2
▷ 두 값을 받아서 둘 중 큰 값을 반환하는 메서드 작성
class Hochul {
public static void main(String[] args) {
Max m = new Max();
long maxResult = m.max(7, 9);
System.out.printf("MAX = %d\n", maxResult);
}
}
class Max {
long max(long a, long b) {
return a > b ? a : b;
// if (a > b) result = a;
// else result = b;
// return result;
}
}
// console
MAX = 9
Ch6 - 18. 메서드의 실행 흐름
▶ 객체 생성
▶ main 메서드에서 메서드 호출
▷ 입력한 값이 매개 변수로 복사 대입 즉 입력
▶ 호출 된 메서드 문장 실행
▷ return문을 만나면 main 메서드로 복귀
▶ 복귀 후 main 메서드의 나머지 문장 실행
Ch6 - 19. 메서드의 실행 흐름 예제
▶ 객체 생성
Max m = new Max();
▶ main 메서드에서 메서드 호출
▷ 입력한 값이 매개 변수로 복사 대입 즉 입력
long maxResult = m.max(7, 9);
▶ 호출 된 메서드 문장 실행
▷ return문을 만나면 main 메서드로 복귀
class Max {
long max(long a, long b) {
return a > b ? a : b;
}
}
▶ 복귀 후 main 메서드의 나머지 문장 실행
public static void main(String[] args) {
Max m = new Max();
long maxResult = m.max(7, 9);
System.out.printf("MAX = %d\n", maxResult);
}
// console
MAX = 9