Java 문법

6-4클래스(메소드)

개발하는지호 2023. 10. 2. 02:24

메소드 선언은 선언부와 실행 블록으로 구성된다.

 

메소드 선언부를 메소드 시그너처라고 하며, 선언부와 실행 블록에는 다음 요소를 포함한다.

  • 리턴 타입: 메소드가 리턴하는 결과의 타입을 표시한다.
  • 메소드 이름: 메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지어준다.
  • 매개 변수 선언: 메소드를 실행할 때 필요한 데이터를 받기 위한 변수를 선언한다.
  • 메소드 실행 블록: 실행할 코드를 작성한다.

 

리턴(return)문 

리턴값이 있는 메소드 : 메소드 선언에 리턴 타입이 있는 메소드는 반드시 리턴문을 사용해서 리턴값을 지정해야 한다.

만약 return문이 없다면 컴파일 에러가 발생하고, return문이 실행되면 메소드는 즉시 종료된다.

 

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

 

메소드 호출

메소드는 클래스 내 외부의 호출에 의해 실행된다. 클래스 내부의 다른 메소드에서 호출할 경우에는 단순한 메소드 이름으로 호출하면 되지만, 클래스 외부에서 호출할 경우 우선 클래스로부터 객체를 생성한 뒤 참조 변수를 이용해서 메소드를 호출해야 한다. 객체가 존재해야 메소드도 존재하기 때문이다

 

메소드 오버로딩

클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 메소드 오버로딩이라고 한다. 오버로딩의 사전적 의미는 많이 싣는 것을 뜻한다. 하나의 메소드 이름으로 여러 기능을 담는다 하여 붙여진 이름이라 생각하면 된다. 메소드 오버로딩의 조건은 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다.