[자바의 정석]메서드란?

이혜수·2023년 2월 24일
0
  • 메서드란?
    - 코드의 중복을 제거하기 위해 문장을 묶어 놓은 것
    - 작업 단위로 문장들을 묶어서 이름 붙인 것

    • 값(입력)을 받아서 처리하고, 결과를 반환(출력)

  • 메서드의 장점

  1. 코드의 중복을 줄일 수 있다.
  2. 코드의 관리가 쉽다.
  3. 코드를 재사용 할 수 있다.
  4. 코드가 간결해서 이해하기 쉬워진다.
  • 메서드의 호출
    int add(int x, int y) { // 매개변수 (parameter, 복사본)
    int result = x + y;
    return result } int multuply(int x, int y){
    int result = x * y;
    return result; }
  • 메서드의 실행흐름
  1. main 메서드에서 메서드add를 호출한다. 1L과 2L이 메서드 add의 매개변수 a,b에 각각 복사(대입)된다.
  2. 메서드 add의 괄호{}안에 있는 문장들이 순서대로 수행된다.
  3. 메서드 add의 모든 문장이 실행되거나 return문을 만나면, 호출한 메서드(main메서드)로 되돌아와서 이후의 문장들을 실행한다.

예제>

package chapter6;

public class Ex6_4 {

	public static void main(String[] args) {
		MyMath mm = new MyMath();		// 객체생성
		long result = mm.max(5, 3); // 둘중에 큰 값을 반환하는 메서드
		long result1 = mm.add(5L, 3L); // add 메서드 호출
		long result2 = mm.subtract(5L, 3L);
		long result3 = mm.multiply(5L, 3L);
		double result4 = mm.divide (5L, 3L);
		mm.printGugudan(12);
		
		System.out.println("max(5L, 3L) = " + result);
		System.out.println("add(5L, 3L) = " + result1);
		System.out.println("subtract(5L, 3L) = " + result2);
		System.out.println("multiply(5L, 3L) = " + result3);
		System.out.println("divide(5L, 3L) = " + result4);
	}

}

class MyMath {
	void printGugudan(int dan) {
			for(int i=1; i<=9; i++) {
				System.out.printf("%d * %d = %d%n", dan, i, dan * i);
			}
			
	}
	
	
	long add (long a, long b) {
		long result = a + b ;
		return result;
		
	}
	
	// 두 값을 받아서 둘중에 큰 값을 반환하는 메서드를 작성하시오.
	long max(long a, long b){
		return a > b ? a : b ;
	}
	
	long subtract ( long a, long b) {return a - b; }
	long multiply ( long a, long b) {return a * b; }
	double divide (double a, double b) {
		return a / b;
	}
	
}

결과 값>

profile
성장하는 땅콩개발자 :)

0개의 댓글

관련 채용 정보