Java언어 스터디 Chapter6-4(메소드)

최재하·2022년 11월 25일
0

메소드란?

어떠한 문제를 처리하기 위한 방법을 소스 코드로 묶어놓고 필요(호출)에 따라 동작하는 기능 정도로 생각할 수 있다.



메소드 선언

메소드 선언은 선언부(리턴 타입, 메소드 이름, 매개 변수 선언)과 실행 블록으로 구성됩니다.

  • 리턴타입

    메소드가 리턴하는 결과의 타입값을 의미합니다.
    메소드는 리턴값이 있을 수도 없을 수도 있으나 리턴값이 있을경우 리턴 타입이 선언부에 명시되어야 합니다.
  • 메소드 이름

    메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지어줍니다.
    • 숫자로 시작하면 안 되고 $_를 제외한 특수문자를 사용하지 말아야 합니다.
    • 관례적으로 메소드 이름은 소문자로 작성합니다.
    • 서로 다른 언어가 혼합된 이름이라면 뒤이어 오는 단어의 첫 글자는 대문자로 작성.
  • 매개 변수 선언

    매개 변수는 메소드가 실행할 때 필요한 데이터를 외부로부터 받기 위해 사용된다, 메소드에서 매개 변수가 필요한 경우가 있고 필요 없는 경우가 있습니다.



리턴(return)문

  • 리턴값이 있는 메소드

    메소드 선언에 리턴타입이 있는 메소드라면 반드시 return문을 사용해서 리턴값을 지정해야 합니다. return문이 없다면 컴파일 에러가 발생하고 return문이 실행되면 메소드가 종료됩니다.
  • 리턴값이 없는 메소드( void )

    리턴값이 없는 메소드는 리턴 타입으로 void를 사용합니다.
    void로 선언된 메소드에서도 return문을 사용할 수 있다 이때는 리턴값을 지정해주는 것이 아니라 메소드 실행을 강제로 종료시키는 역할을 합니다.



메소드 호출

메소드는 클래스 내/외부의 호출에 의해 실행됩니다.
클래스 내부의 다른 메소드에서 호출할 경우에는 단순한 메소드 이름으로 호출하면 되지만, 클래스 외부에서 호출할 경우에는 우선 클래스로부터 객체를 생성하고 참조변수를 이용해 메소드를 호출해야합니다.

//객체내부----------------

//메소드선언
void run(){ ... }
void stop(){ ... }
void sound(){ ... }
void내부메소드(){
    run();
    stop();
    sound();//메소드를호출!
}

//객체외부----------------
void 외부메소드(){
	Car car = new Car();
    car.run();
    car.stop();
    car.sound();
}



메소드 오버로딩

메소드 오버로딩이란 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 말한다.
메소드 오버로딩의 조건은 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다는 점이다.
메소드 오버로딩이 필요한 이유는 매개값을 다양하게 받아 처리할 수 있도록 하기 위해서입니다.

0개의 댓글