[JAVA] 21. 메서드의 기본

편준민's avatar
Feb 10, 2025
[JAVA] 21. 메서드의 기본
💡 JAVA에서는 Class 안에 메서드가 있어야 하기에 Class 밖에 함수를 만드는건 문법적으로 불가능하다. (언어마다 다름) JAVA는 반드시 함수를 만들 때 Class 안에서 만들어야한다.

메서드의 종류

  1. 기본 메서드 (함수)
  1. 인수가 있는 메서드 (함수)
  1. 인수가 여러개인 메서드 (함수)
  1. 리턴이 있는 메서드 (함수)

메서드의 장점

  1. 가독성이 높아진다
  1. 코드가 깔끔해진다
  1. 편리성이 높아진다
💡 메서드의 기본 문법은 class명.함수명(); 이 기본이지만, 같은 클래스 안에 있는 경우에는 class명을 생략 할 수 있다.
ex)
package ex04; public class Ex01 { static void a() { System.out.println("안녕하세요"); } public static void main(String[] args) { a(); // 원래는 Ex01.a(); 인데 Ex01 생략 가능 }

1. 기본 메서드

package ex04; public class Mem01 { // 1. 기본 메서드 (함수) static void f() { System.out.println("기본함수 f()"); } public static void main(String[] args) { f(); } }

결과

notion image

메인에서 함수의 이름으로 부르면 함수의 이름을 찾아 실행한다.

2. 인수가 있는 메서드

package ex04; public class Mem01 { // 2. 인수가 있는 메서드 (함수) static void g(int x) { System.out.println("인수가 있는 함수 g(x) : " x); } public static void main(String[] args) { g(10); } }

결과

notion image

메인에서 함수의 이름으로 부르면 함수의 이름을 찾아 실행하고,
메인에서 괄호 안에 입력한 값을 출력한다. ( g(10) )

3. 인수가 여러개인 메서드

package ex04; public class Mem01 { // 3. 인수가 여러개인 메서드 (함수) static void h(int x, int y) { System.out.println("인수가 여러개 있는 함수 h(x,y) :" + (x + y)); } public static void main(String[] args) { h(5, 4); } }

결과

notion image

  • 메인에서 함수의 이름으로 부르면 함수의 이름을 찾아 실행하고, 함수의 입력된 코드를
실행한다.
  • 함수에서 x+y가 있기 때문에 메인 괄호 안에 적은 숫자를 더한다.
h(5, 4); → 실제론 h( 5 + 4) 인것이다.

4. 리턴이 있는 메서드

💡 return 타입은 int가 있다면 반드시 return을 반드시 해야함
ex)
static int A () { return; // 리턴이 반드시 있어야함 }
💡 return 타입과 return 타입은 반드시 일치해야한다.
ex)
static int A () { return 5; // 밑줄 친 두 타입이 반드시 일치해야함. (형변환 가능) }
package ex04; public class Mem01 { // 4. 리턴이 있는 메서드 (함수) static int mod(int x, int y) { return x % y; // 계산하면 int 타입 이기 때문에 가능함 } public static void main(String[] args) { int r = mod(10, 3); System.out.println("나머지 = " + r); } }

결과

notion image

  • 리턴이 없는 함수와 리턴이 있는 함수의 다른 점은 없는 함수는 출력되고 사라지지만, 리턴이 있는 함수는 사라지지 않고 기억을 한다. 그래서 리턴이 없는 함수는 출력이 바로 되지만, 리턴이 있는 함수는 기억하고 있기 때문에 System.out.println 으로 출력을 해줘야한다.
 
Share article

YunSeolAn