[Java의 정석]Chapter6.객체지향 프로그래밍(18~19)

Chapter 6. 객체지향 프로그래밍

18. 메서드의 실행 흐름

<두 개의 값을 매개변수로 받아서 사칙연산을 수행하는 4개의 메서드를 가진 MyMath클래스 정의>

class MyMath {
	long add(long a, long b) {
    	long result = a + b;
        return result;
        //return a+b; //위의 두줄을 이와 같이 한 줄로 간단히 가능
    }
    long subtract(long a, long b) {return a-b;}
    long multiply(long a, long b) {return a*b;}
    doule divide(double a, double b) {return a/b;}
}
  • MyMath클래스의 'add(long a, long b)'를 호출 방법
    ▶ 먼저 'MyMath mm = new MyMath();'와 같이, MyMath클래스의 인스턴스를 생성한 다음 참조변수 mm을 통해야 함
MyMath mm = new MyMath(); //먼저 인스턴스를 생성
long value = mm.add(1L, 2L); //메서드를 호출
long add(long a, long b) {
	long result = a + b;
    return result;
}
① main메서드에서 메서드 add를 호출. 
인수 1L2L이 메서드 add의 매개변수 a,b에 각각 복사(대입)됨
② 메서드 add의 괄호{ }안에 있는 문장들이 순서대로 수행
③ 메서드 add의 모든 문장이 실행되거나 return문을 만나면, 
호출한 메서드(main메서드)로 되돌아와서 이후의 문장들을 실행

19. 메서드의 실행 흐름 예제

▶ 사칙연산을 위한 4개의 메서드가 정의 되어 있는 클래스 이용한 예제

→ 예제 통해 클래스에 선언된 메서드를 어떻게 호출하는지 파악 가능
🚩 divide(double a, double b)를 호출하는 부분
: dibide메서드에 선언된 매개변수 타입은 double형인데, long형의 값이 5L과 3L을 사용해서 호출하는 것이 가능
: long형의 값인 5L은 double형 값인 5.0으로 자동 형변환 되어 매개변수에 저장

좋은 웹페이지 즐겨찾기