-
728x90
메소드
결함이 없고, 유지보수가 쉬운 애플리케이션을 만들기 위한 기법 중 하나 이다.
메소드의 형식
// main 이라는 메소드이다. public static void main(String[] args) { return; }
main메소드는 자바가 실행될때 가장 먼저 이 메소드를 호출되게끔 약속이 되어 있다.
- 약속은 여기서 그냥 기억해야하는 부분이다.메소드의 정의(define) 와 호출(call)
public class methodDemo { // 메소드의 정의 public static void numbering() { int i = 0; while (i<10) { System.out.println(i); i++; } } public static void main(String[] args) { // 호출하는 파트 numbering(); } }
메소드가 없다면?
메소드안에 있는 내용들을 필요한 만큼 반복해서 중복적인 코드를 적어야 한다. ( 재활용성이 적어서, 코드량이 너무 많아지고, 유지보수가 힘들다. ) 따라서, 메소드가 있다면, 재활용을 통해 코드량잉 줄어들고 유지보수가 쉽다.
입력과 출력
입력
입력
- 매개변수(parameter)와 인자(argument)를 통해 입력이 된다// 매개변수 limit, 인자 5를 통해 메소드에 입력값을 준다 ( 인자 5의 값이 매개변수에 대입되어서 결과가 나타난다. ) public class methodDemo { public static void numbering(int limit) { // int limit = 5; 매개변수가 없을때 기존의 방법과 같은 방법이다 int i = 0; while (i<limit) { System.out.println(i); i++; } } public static void main(String[] args) { numbering(5); // numbering(); } } // 시작과 끝을 지정해주는 코드 -> 여러개의 인자와 여러개의 매개변수를 지정하는 방법 public class methodDemo { public static void numbering(int init, int limit) { int i = init; while (i<limit) { System.out.println(i); i++; } } public static void main(String[] args) { numbering(3,5); // 3부터 4까지 } }
출력
출력
- return과 관련, 메소드 밖으로 결과값을 돌려준다.
- return이 실행이 되면 메서드는 멈춘다 ( 다음 코드를 수행하지 않는다. ) 하지만, return 자체는 여러번 사용할 수 있다.
- return 배열; 이렇게 배열도 리턴을 할 수 있다.특정 메소드가 프린트를 하는 등 특정 하나의 일만 할 수 있다면, 부품으로써 가치가 떨어지기에 메소드안에서 값을 끝내버리는게 아니라, return을 통해 밖으로 결과 값을 보내주고 다른 부분에서 메서드 호출을 통해 인자를 통한 결과값을 변경하는 등의 다른 일들을 할 수 있다면, 부품으로써 가치가 높아진다. ( 아래 코드를 보기 )
public class methodDemo { // String이 반환타입이기에 return되는 값은 문자열이여야 한다. public static String numbering(int init, int limit) { int i = init; String output = ""; // 빈 문자열 cuz 반환타입을 생각해야하므로 string 해줘야한다. while (i<limit) { output += i; // 변수에 i 값이 뒤에 붙는다. i++; } return output; // 이 부분이 출력 하는 부분 -> 1234 가 출력값이다 // return을 numbering 밖으로 출력을 해준다. // return이 아니라 println(i); 이런식으로 했으면 numbering이라는 메소드는 print의 기능만 구현하므로 가치가 낮다 } // void는 return이 필요 없다. public static void main(String[] args) { String res = numbering(1,5); // 1부터 4까지 System.out.println(res); } } // 배열을 리턴하는 예시 코드 public class methodDemo2 { public static String[] getMembers() { String[] members = { "aa", "bb", "cc" ); return members } public static void main(String[] args) { String[] members = getMembers(); } }