public static void main(String[] args)
main 메소드
public static void number() {
int i = 0;
while(i<10) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
number();
}
number() 메소드 안에 있는 코드가 main이라는 메소드안에 호출하면 number() 로직이 실행된다.
public static void main(String[] args)
여기서 main 메소드가 무엇일까?
자바를 실행할때 자바가 처음으로 찾아가는 곳이다.
즉 프로그램이 시작할때 무조건 실행되는 함수이며
main 메소드 안에 내가 실행되기를 기대하는 로직을 위치시켜야 프로그램이 시작할때 main 메소드를 호출 및 실행하여 프로그램이 구동하게 되는것이다.
public static String number (int init,int limit)
메소드가 리턴할 때 값
문자열을 리턴한다 라는 의미다.
public static void main(String[] args)
만약 반환값이 없으면 void 로 써준다
public static void main(String[] args)
프로그램 시작할때 main 메소드가 실행되고 매개변수인 String[] args 는 입력값의 파라미터로 동작
String[] 는 문자열을 담고 있는 배열과 args.length 는 배열의 길이
매개변수와 인자
메소드의 입력 값은 매개변수 (parameter) 을 통해 들어온다.
예를들어
메소드에 여러개의 입력값을 전달하고 복수의 인자를 출력하기
public class DemoApplication {
public static void number(int init,int limit) {
int i = init;
while(i<limit) {
System.out.println(i);
i++;
}
}
public static void main(String[] args) {
number(1,5);
}
}
main 메소드에서 number() 라는 메소드를 호출할 때 값을 넣어 주면 init, limit 변수는 number() 로직들에게 1, 5라는 값을 전달한다.
public static void number(int init, int limit) { }
호출에서 입력한 값을 로직에 매개한다(*둘 사이에서 양쪽의 관계를 맺어 주다.) 라는 의미에서 '매개변수' = parameter 라고도 한다
여기서 메소드 호출할때 넣은 값은 number(1,5) '인자' = argument 라고 한다
근데 매개변수와 인자 구분없이 부르는 경우가 많다.
return
같은 출력이지만 좀 더 활용도 높은 방법으로 return 으로 출력해보자
output 변수에 빈 값을 주어 만들어지는 숫자들을 담아줬다
public static String number(int lnit, int limit) {
int i = lnit;
String output = "";
while(i<limit) {
output += i;
i++;
}
return output;
}
public static void main(String[] args) {
String result = number(1, 5);
System.out.println(result);
}
- return의 역할
return 은 값을 반환하는 동작이다 그럼 코드는 컴파일이 된다.
메소드를 중단시키는 역할도 한다.
위처럼 메소드는 여러개의 입력값을 받을 수 있다
이번엔 메소드가 여러개의 출력값을 받는다면? 하지만 자바는 문법적으로 불가능하다
하나의 메소드에 하나의 값만 반환할 수 있기 때문에
만약 멤버를 반환하는 메소드를 만들었다면
아래처럼 1 메소드마다 1 값만 반환하여 println 해버리면 비효율적이다
public class DemoApplication {
public static String member1() {
return "김민지";
}
public static String member2() {
return "민선화";
}
public static String member3() {
return "최준미";
}
public static void main(String[] args) {
System.out.println(member1());
System.out.println(member2());
System.out.println(member3());
}
}
그래서 배열을 사용해보자
public class DemoApplication {
public static String[] getMembers() {
String[] members = {"김민지","민선화","최준미"};
return members;
}
public static void main(String[] args) {
String[] members = getMembers();
System.out.println(members); // 출력이 안된다
}
}
하지만 출력했을때 [Ljava.lang.String;@3d012ddd 의 결과값이 나온다.
배열을 출력하는 방법은??
import java.util.Arrays 의 toString 메서드를 이용해서 배열을 출력하게 한다
System.out.println(Arrays.toString(members));
결과값
[김민지, 민선화, 최준미]
'공부' 카테고리의 다른 글
생성자 (0) | 2023.06.20 |
---|---|
메소드화 | 객체화 | 인스턴스 (0) | 2023.06.16 |
[백준] 4단계 | 10807, 10871, 10818, 2562, 5597, 3052, 1546 (0) | 2023.03.04 |
[백준] 3단계 | 반복문 8~12 (0) | 2023.02.17 |
[백준] 3단계 | 반복문 1~7 (0) | 2023.02.14 |