Java/생활코딩

메소드 Method

hs_developer 2022. 3. 16. 16:51

메소드 예제 많이 접할 필요 있을 듯

 

이미 익숙한 메소드

 

메소드를 사용하지 않고 자바로 프로그래밍을 하는 건 불가능하다. 

 

 

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