호출
할 때 전달
할 수 있다.변수
이다.매개변수
라고도 한다.public static void main(String[] args) { // 인수가 없는 경우 ex01(); // 인수가 정수 1개인 경우 ex02(10); // 인수가 실수 2개인 경우 ex03(1.5, 1.2); // 인수가 문자열 1개와 정수 1개인 경우 ex04("홍길동", 30); // 인수가 배열 1개인 경우 int[] a = {10, 20, 30}; ex05(a); } // 인수가 배열 1개이면 파라미터 int[] arr을 선언한다. 여기서 배열 이름은 아무 이름이나 사용해도 상관없다. public static void ex05(int[] arr) { System.out.println("ex05: " + Arrays.toString(arr)); } // 문자열 인수는 파라미터 String name으로 받고, 정수 인수는 int age로 받는다. public static void ex04(String name, int age) { System.out.println("ex04 name: " + name); System.out.println("ex04 age: " + age); } // 인수가 실수 2개이면 파라미터 double a, double b를 선언한다. public static void ex03(double a, double b) { System.out.println("ex03 a: " + a); System.out.println("ex03 b: " + b); } // 인수가 정수 1개이면 파라미터 int a를 선언한다. public static void ex02(int a) { System.out.println("ex02: " + a); } // 인수가 없으면 파라미터도 없다. public static void ex01() { System.out.println("ex01"); }
오버로딩
의 조건public static void main(String[] args) { print(10); // 정수를 출력하고 싶은 print 메소드 print(1.5); // 실수를 출력하고 싶은 print 메소드 print(10, 20); // 정수를 2개 출력하고 싶은 print 메소드 print(1.5, 1.2); // 실수를 2개 출력하고 싶은 print 메소드 } public static void print(double a, double b) { print(a); // 실수를 1개 출력하고 싶은 print 메소드 print(b); // 각각을 실수 1개짜리 메소드에 다시 보냄. // 이처럼 메소드 안에서 이미 구현된 메소드를 호출해서 작업할 수도 있다. } public static void print(int a, int b) { System.out.println(a + ", " + b); } public static void print(double a) { System.out.println(a); } public static void print(int a) { System.out.println(a); }
타입이 동일
하지만, 갯수가 여러 개
인 경우에 사용할 수 있다....
)를 활용한다.배열로 처리
한다.public static void main(String[] args) { print(10); // 인수가 정수 1개이다. print(10, 20); // 인수가 정수 2개이다. print(10, 20, 30); // 인수가 정수 3개이다. } public static void print(int... a) { // 말 줄임표로 선언된 파라미터는 사실 배열이다. for(int i = 0; i < a.length; i++) { System.out.println(a[i]); } }
결과 값
을 의미한다.void
키워드를 작성하고, 반환값이 있는 경우에는 반환값의 타입
을 작성한다. public static void main(String[] args) { // get (getter): 반환이 있는 경우 자주 사용하는 프리픽스 값 // getName(); // 메소드 호출 // 이름을 받아온다. System.out.println(getName()); // 홍길동 // 나이를 받아온다. System.out.println(getAge()); // 30 // true, false 반환 (주로 is를 사용) System.out.println(isAlive()); // false // 취미를 3개 반환 System.out.println(Arrays.toString(getHobbies())); // [여행, 수영, 영화] } public static String[] getHobbies() { // 배열을 만들어서 반환 String[] hobbies = {"여행", "수영", "영화"}; return hobbies; } public static boolean isAlive() { // 반환할 값을 지역변수로 먼저 선언 boolean isAlive = getAge() <= 100; // 예) 100살 이하면 살아있다는 기준으로 잡음 return isAlive; } public static int getAge() { // 반환할 값을 지역변수로 먼저 선언 int age = 500; return age; } public static String getName() { // 반환할 값을 지역변수로 먼저 선언 String name = "홍길동"; return name; // 메소드를 호출한 곳으로 반환한다. }
void
키워드를 사용한다.return;
키워드를 이용해서 메소드 실행을 종료할 수 있다.return 키워드만
작성해야 한다.void 메소드에서만
사용할 수 있다.public static void main(String[] args) { //(positive number : 양수) positivePrint(10); positivePrint(-10); } // 전달된 인수가 양수이면 출력하고 아니면 출력하지 않는 positivePrint 메소드 public static void positivePrint(int a) { /* (실행되는것과 상관없이 코드 스타일 상 좋은 코드 스타일이 아니다.) if(a >= 0) { System.out.println(a); } */ // 좋은 예시) 0보다 작으면 실행되지 않는다. if(a < 0) { // 메소드의 종료 조건만 설정 return; // return 키워드를 메소드를 종료시키는 용도로 사용하는 경우 return 뒤에 값이 없다. (void 메소드의 return 에서만 사용 가능) } System.out.println(a); }
재미져~ 재미져~
Java 너는 ... love 💕
유익한 정보를 제공해주셔서 감사합니다.