본문 바로가기
Programming/JAVA

생활코딩 JAVA - method

by DONGKU 2020. 6. 27.

출처: 생활코딩 JAVA - Method


Method

 

복잡한 것을 정리해서 다시 단순하게 만드는 정리 정돈의 도구
어떤 Logic에 이름을 붙인 것


메소드의 기본 형식

연관된 코드를 그룹핑해서 이름을 붙인다

 

Method는 입력 값이 있고 그것을 처리해서 출력을 한다. 어떤 데이터 값을 return할 것인지는 직접 지정해주어야 한다.

 

public class WhyMethod {

    public static void main(String[] args) {  // 입력해준 입력값이 문자열 배열인 args를 통해 들어오는 main 이라는 method

        // 100000000
        printTwoTimesA();
        // 100000000
        printTwoTimesA();
        // 100000000
        printTwoTimesA();

    }

    public static void printTwoTimesA() {  // Method 정의
        System.out.println("-");
        System.out.println("a");
        System.out.println("a");
    }

 

리팩토링의 핵심정인 도구는 Method!

선택한 코드들 Method로 추출(Refactoring을 도와주는 도구): 마우스 우클릭 -> Refactor -> Extract Method -> Method 이름 설정, Access modifier: public √

 


Method의 입력

 

public class WhyMethod {

    public static void main(String[] args) {

                         //인자, argument
            printTwoTimes("a", "-");  // 인자(argument)가 있는 호출
            // 100000000
            printTwoTimes("a", "*");
            // 100000000
            printTwoTimes("a", "&");
            printTwoTimes("b", "!");

    }
                                     //매개변수,parameter 
    public static void printTwoTimes(String text, String delimiter) {
        System.out.println(delimiter);
        System.out.println(text);
        System.out.println(text);
    }

}

Method의 출력

Method의 return값 뒤에 있는 값이 Method의 실행값이 된다

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());

    }

}

Method의 활용

코드의 가독성 up, 한번만 작성하고 재사용, 메소드 수정시 모든 곳에서 변경되는 유지보수성

 

public class AccountingApp {
    // 공급가액
    public static double valueOfSupply = 10000.0;  // class에서 모두 사용할 수 있는 전역변수
    // 부가가치세율
    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) {

        // double valueOfSuplly = 10000.0; // main문 안에서만 선언되는 지역변수
        // double varRate = 0.1;  // 지역변수


        System.out.println("Value of supply : " + valueOfSupply);
        System.out.println("VAT : " + getVAT());
        System.out.println("Total : " + getTotal());

    }

}

.

댓글