본문 바로가기
자바(Java)/자바 클래스

[Java Class.03] 메소드(Method)

by 긱펀 2024. 2. 18.
반응형

[Java Class.03] 메소드

1.메소드(Method)

  • 메소드는 객체의 동작에 해당된다.
  • 메소드 이름은 숫자로 시작하면 안되고, $와 _를 제외한 특수 문자를 사용할 수 없다.
  • 관례적으로 메소드 이름은 소문자로 작성한다.
  • 서로 다른 단어가 혼합된 메소드 이름이라면, 뒤이어 오는 단어의 첫 글자는 대문자로 작성한다.

 

  • ①리턴 타입
  • ②메소드 이름
  • ③매개변수
  • ④실행할 코드
  • ⑤리턴 명령문
  • return문 이후의 명령어는 실행되지 않습니다.(에러 발생)
public class Calculator {

  void powerOn() {
    System.out.println("Power On.");
  }

  int plus(int x, int y) {
    int result = x + y;
    return result;
  }

  int minus(int x, int y) {
    int result = x - y;
    return result;
  }

  int multiply(int x, int y) {
    int result = x * y;
    return result;
  }

  double divide(int x, int y) {
    double result = x / y;
    return result;
  }

  void powerOff() {
    System.out.println("Power Off.");
  }
}
  • 외부 클래스에서 Calculator 클래스의 메소드를 호출하기 위해서는 Calculator 객체를 만들어 도트(.)와 함께 메소드이름을 코딩하여 호출하면 된다.
public class Main {
  public static void main(String[] args) {
    Calculator calculator = new Calculator();
    calculator.powerOn();
    int plus = calculator.plus(10, 20);
    int minus = calculator.minus(10, 20);
    int multiply = calculator.multiply(10, 20);
    double divide = calculator.divide(10, 20);
    
    System.out.println(plus);
    System.out.println(minus);
    System.out.println(multiply);
    System.out.println(divide);
    
    calculator.powerOff();
  }
}

 

2.메소드 오버로딩(Method Overloading)

  • 클래스 안에 같은 이름이 메소드를 여러 개 선언하는 것을 메소드 오버로딩 이라고 한다.
  • 메소드 오버로딩의 조건은 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다는 점이다.
public class Calculator {
  int areaRectangle(int width) {
    return width * width;
  }

  int areaRectangle(int width, int height) {
    return width * height;
  }
}
  • 오버로딩된 메소드를 호출할 경우 자바는 매개 변수값의 타입을 보고 메소드를 선택한다.
public class Main {
  public static void main(String[] args) {
    Calculator myRect = new Calculator();

    int result1 = myRect.areaRectangle(5);
    int result2 = myRect.areaRectangle(5, 10);

    System.out.println(result1);
    System.out.println(result2);
  }
}

 

 

3.객체 내부에서 메소드 호출

  • 메소드는 클래스 내/외부의 호출에 의해 실행된다.
  • 클래스 내부의 메소드를, 같은 클래스 내부에서 호출할 경우에는 단순히 메소드 이름으로 호출하면 된다.

 

4.클래스 외부에서 메소드 호출

  • 클래스 외부에서 메소드를 호출할 경우, 우선 클래스로부터 객체를 생성한 뒤 메소드를 호출해야 한다.
  • 그 이유는 객체가 존재해야 메소드도 존재하기 때문이다.

728x90
반응형

댓글