/ JAVAJUNGSUK

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