13. 메소드
13. 메소드
반복문, 조건문, 변수, 상수와 같은 것들은 사실상 프로그램을 만드는 가장 중요한 도구들이라고 할 수 있다. 지금부터 배우게 될 메소드나 객체지향과 같은 개념들은 웅장하고, 결함이 없고, 유지보수가 쉬운 애플리케이션을 만들기 위한 기법들이라고 할 수 있다.
우리가 만들게 될 "틀" : 객체지향
1. 메소드
메소드(method)는 코드를 재사용할 수 있게 해준다. 이번 시간에는 경제적으로 로직을 작성하는 방법에 대해서 알아볼 것이다.
2. 메소드 형식
public static void main(String[] args){
}
반드시 public static void main(String[] args)가 이끄는 중괄호 안에 실행되기를 기대하는 로직을 위치시켜야 한다. 이것은 약속이기 때문에 여러분은 약속을 지켜야 한다.
3. 메소드 정의와 호출
public static void print(){
System.out.println("출력");
}
public static void main(String[] args){
print();
}
출력결과
출력
4. 입력과 출력
살아있는 것들은 외부의 자극에 따라서 반응한다. 외부의 자극이 입력이라면 반응은 출력이라고 할 수 있다. 우리가 아는 쓸모있는 대부분의 프로그램이 사용자의 입력에 따라서 다른 결과를 출력한다. 메소드는 프로그램 안에서 동작하는 하나의 작은 프로그램이라고 할 수 있다.
5. 매개변수와 인자
메소드의 입력 값은 매개변수(parameter)를 통해서 이루어진다. 여기서 limit이라는 변수는 메소드 numbering의 정의 부에 있는 로직들에게 5라는 값을 전달하고 있다. 호출에서 입력한 값을 로직으로 매개 한다는 의미에서 이러한 변수를 매개변수라고 부른다. 영어로는 parameter다. 그리고 메소드를 호출할 때 전달된 값인 5를 '인자' 영어로는 argument라고 한다. 관습적으로는 매개변수와 인자를 구분하지 않고 부르는 경우도 많다.
만약 반환 값이 없다면 아래와 같이 void를 적어준다.
7. 복수의 리턴
메소드는 여러 개의 입력 값을 가질 수 있다. 그렇다면 여러 개의 값을 출력하고 싶다면? 자바는 문법적으로 그런 기능을 제공하지 않는다. 하나의 변수에 여러개의 값을 담아서 출력하면 된다. 아래의 코드를 보자.
package org.opentutorials.javatutorials.method;
public class ReturnDemo4 {
public static String[] getMembers() {
String[] members = { "최진혁", "최유빈", "한이람" };
return members;
}
public static void main(String[] args) {
String[] members = getMembers();
}
출처 : 생활코딩 (정리하며 공부하고 있습니다~)