메소드(method)

GW·2023년 7월 17일

메소드란?

  • 메소드란 하나의 기능을 하는 코드의 묶음단위입니다
  • 메소드가 하는 일에 따라 파라미터 인자 가 필요할 수도 있습니다
  • 또한, 처리 결과를 반환 하거나 하지 않을 수도 있습니다

아래 코드 처럼 1 과 3 을 더해 출력하는 코드가 있습니다

public
static void main String [] args )
System.out.println ( 1 + 3
}

숫자를 더하는 코드가 여러 번 있습니다

public
static void main String [] args )
System.out.println ( 1 + 3);
System.out.println ( 4 + 7);
System.out.println ( 2 + 2);
...
}

동일한 기능의 코드가 여러 번 중복되어 있을 경우 ,해당 코드를 수행하는 기능을 한 번만 만들어두면 편리합니다

public class App
public static void add (){
System.out.println (1 + 3);
}
public
static void main String [] args )
//System.out.println( 1 + 3 );
add();
add();
add();
add();
	}
}

메소드 정의 규칙

metod 연습문제

1.1부터 100까지의 합을 구해 출력해보세요
2.1 부터 100중 홀수의 합을 구하시오
3.1 부터 100중 3,5,6의 배수만 출력해보세요
4.

package hello_java_world;

public class MethodFor {
	public static void printSum() {
		int sum = 0;
		for (int i = 1; i <= 100; i++) {
			sum += i;
		}
		System.out.println(sum);
	}

	public static void printa() {
		int sum = 0;
		for (int i = 1; i <= 100; i++) {
			if (i % 2 == 1) {
				sum += i;
			}
		}
		System.out.println(sum);
	}

	public static void printb() {
		for (int i = 1; i <= 100; i++) {
			if (i % 3 == 0 || i % 5 == 0 || i % 6 == 0) {
				System.out.println(i);
			}
		}
	}
	public static void star() {
		for(int i=0; i<5; i++) {
			for(int j=0; j<=i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

	public static void main(String[] args) {
		printSum();
		printa();
		printb();
		star();
	}

}

메소드의 반환타입이 void 일 경우

  • 아무것도 반환하지 않는 메소드다.

반환타입이 int인 경우

  • 정수형을 반환하는 메소드가 되며 return 이라는 키워드가 메소드 가장 마지막에 작성되어야 한다.

반환타입이double 인 경우

  • 부동소수점형(double) 을 반환하는 메소드가 되며 , return 이라는 키워드가 메소드 가장 마지막에 작성되어야 합니다

즉, 반환타입이 void 가 아닌 경우
항상 작성된 자료형으로 반환하는 메소드가 되며 반드시 return 키워드가 메소드 가장 마지막에 작성 되어야 합니다

연습문제

ex)1

public class ArtithmaticProblem1
public static void main (String [] args ){
int minutes = 5;
int seconds = 50;
int time = 0;
/*

  • 산술연산자를 이용해
  • minutes 와 seconds 의 값을 초로 변환해
  • time 변수에 할당하고 출력해보세요
    }
    }
package hello_java_world;

public class ArtithmaticProblem1 {

	public static int aa(int a, int b) {
		a*=60;
		int time=a+b;

		return time;
	}

	public static void main(String[] args) {
		int time=aa(6,50);
		System.out.println(time+"seconds");
	}

}

ex)2


package hello_java_world;

public class ArtithmaticProblem2 {

	public static int processTime1(int a) {
		int minutes =a/60;
		return minutes;
	}
	public static int processTime2(int b) {
		int seconds = b%60;
		return seconds;
	}
	

	public static void main(String[] args) {
		int a=processTime1(145);
		int b=processTime2(145);
		System.out.println(a);
		System.out.println(b);
	}

}

ex)3

package hello_java_world;

public class Grade {

	public static int sum1(int Kor, int eng, int math, int prog) {
		int sum = Kor + eng + math + prog;

		return sum;
	}

	public static int average1(int sum, int a) {
		int average = sum / a;
		return average;
	}

	public static String gr(int average) {
		String ab ="";
		if (average >= 95) {
			ab="A+";
		} else if (average >= 90) {
			ab="B";
		} else if (average >= 85) {
			ab="B+";
		} else if (average >= 80) {
			ab="B";
		} else if (average >= 70) {
			ab="C";
		} else {
			ab="F";
		}

		return ab;
	}

	public static void main(String[] args) {
		int sum = sum1(90, 90, 70, 80);
		int average = average1(sum, 4);
		String a = gr(average);
		System.out.println(sum);
		System.out.println(average);
		System.out.println(a);
	}
}

ex)4


package hello_java_world;

public class Travel {

	public static int fly(int age) {
		int adultOneWayFlightFare = 300_000;
		int kidOneWayFlightFare = 120_000;
		int flightFare = 0;
		if (age > 19) {
			flightFare = adultOneWayFlightFare;
		} else {
			flightFare = kidOneWayFlightFare;
		}
		return flightFare;
	}

	public static String travel(int a, int b, int c) {
		int money = 1_000_000;
		int sum = fly(a);
		sum += fly(b);
		sum += fly(c);
		String ab = "";

		if (sum > money) {
			ab = "no, travel";
		} else if (sum < money) {
			ab = "go,travel";
		}

		return ab;
	}

	public static void main(String[] args) {
		String ab = travel(40, 36, 11);
		System.out.println(ab);
	}

}

1개의 댓글

comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기