메소드 예제 많이 접할 필요 있을 듯
이미 익숙한 메소드
메소드를 사용하지 않고 자바로 프로그래밍을 하는 건 불가능하다.
public class FirstMethod {
public static void main(String[] args) {
System.out.println("Hello Method");
System.out.println(Math.floor(1.1));
}
}
// 결과 값
Hello Method
1.0
메소드의 기본 형식
public class WhyMethod {
public static void main(String[] args) {
printTwoTimesA();
printTwoTimesA();
printTwoTimesA();
}
public static void printTwoTimesA() {
System.out.println("-");
System.out.println("a");
System.out.println("a");
}
}
// 결과 값
-
a
a
-
a
a
-
a
a
메소드의 입력 값
메소드는 작은 프로그램이라고 할 수 있다.
입력 값에 따라서 다양하게 동작하는 프로그램을 만들 수 있는 것처럼, 메소드도 입력 값을 받아서 처리할 수 있다.
그 방법을 살펴보자.
public class WhyMethod {
public static void main(String[] args) {
// 인자 argument
printTwoTimes("a", "-");
printTwoTimes("a", "*");
printTwoTimes("a", "&");
printTwoTimes("b", "!");
}
// 매개변수 parameter
public static void printTwoTimes(String text, String delimeter) {
System.out.println(delimeter);
System.out.println(text);
System.out.println(text);
}
}
// 결과 값
-
a
a
*
a
a
&
a
a
!
b
b
인자 argument
메소드에 넣어주는 값
매개변수 parameter
다른 곳에서 받은 값을 메소드에 전해주는 값
메소드의 출력
메소드를 실행시켰을 때 그 결과가 값이 되도록 할 수 있다면 메소드는 아주 많은 곳에서 사용할 수 있게 된다.
return 키워드를 이용해 메소드를 어떤 값의 표현식이 되도록 하는 방법을 살펴보자.
public class OutputMethod {
public static String a() {
return "a";
}
public static int one() {
return 1;
}
public static void main(String[] args) {
System.out.println(a());
System.out.println(one());
}
}
// 결과 값
a
1
import java.io.FileWriter;
import java.io.IOException;
public class WhyMethod {
public static void main(String[] args) throws IOException {
System.out.println(twoTimes("a", "-"));
FileWriter fw = new FileWriter("out.txt");
fw.write(twoTimes("a", "*"));
fw.close();
}
public static String twoTimes(String text, String delimeter) {
String out = "";
out = out + delimeter + "\n";
out = out + text + "\n";
out = out + text + "\n";
return out;
}
}
// 결과 값
-
a
a
return 값이 메소드 실행 결과가 된다.
return은 메소드를 종료시키는 역할을 한다.
return 값에 맞춰 데이터 타입을 정해줘야 한다.
void는 return 값이 없다는 것을 의미한다.
메소드의 활용
// 메소드 사용 전
public class AccountingApp {
public static void main(String[] args) {
//공급가액
double valueOfSupply = 10000.0;
//부가가치세율
double vatRate = 0.1;
//부가세
double vat = valueOfSupply * vatRate;
//합계
double total = valueOfSupply + vat;
System.out.println("Value of supply : " + valueOfSupply);
System.out.println("VAT : " + vat);
System.out.println("Total : " + total);
}
}
// 메소드 사용 후
public class AccountingApp {
// 공급가액
public static double valueOfSupply = 10000.0;
// 부가가치세율
public static double vatRate = 0.1;
public static double getVAT() {
return valueOfSupply * vatRate;
}
public static double getTotal() {
return valueOfSupply + getVAT();
}
public static void main(String[] args) {
System.out.println("Value of supply : " + valueOfSupply);
System.out.println("VAT : " + getVAT());
System.out.println("Total : " + getTotal());
}
}
메소드를 이용하면
코드를 정리정돈하여 가독성을 높이고,
코드 재사용이 가능하고,
메소드의 내용을 바꾸는 것으로 많은 메인 코드를 수정 가능하다.
'Java > 생활코딩' 카테고리의 다른 글
생활코딩 JAVA 상속 (0) | 2022.03.17 |
---|---|
생활코딩 JAVA 객체 지향 프로그래밍 (0) | 2022.03.16 |
생활코딩 JAVA 제어문 (0) | 2022.03.15 |
인스턴스 Instance (0) | 2022.03.15 |
생활코딩 JAVA1 (0) | 2022.03.06 |