본문 바로가기
Programing/JAVA (& 혼공자Java)

자바(Java) - 메소드1 (메소드 선언)

by a.k.a DUKI 2020. 10. 7.
728x90
반응형

메소드는 객체의 동작에 해당하는 중괄호 { } 블록을 말한다.

중괄호 블록 이름이 메소드 이름 이며, 메소드를 호출하면 블록에 있는 모든 코드들이 일괄적으로 실행 된다.

 

v1 메소드란, 클래스 안에서 선언하는 입력 값을 받아 특정 행동을 수행하고 결과를 호출자에게 리턴하는 명령문

v2 메소드란, 특정한 작업이나 논리를 구성하는 코드를 괄호로 묶어 놓은 것

(뭔가 한 문장으로 정리하려다 보니 둘다 맞는 것같아서 같이 끄적여 본다.)

 

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

메소드 선언부메소드 시그니처(signature) 라고 한다.

선언부와 실행블록은 아래 요소를 포함하고 있다.

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

혼공자 유툽 참고

 

메소드 선언

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

리턴 타입

  • 메소드를 실행한 후의 결과값의 타입이다.
  • 리턴값이 있는 경우 리턴 타입이 선언부에 명시 되어야한다.
  • 리턴값이 없을 수도 있다.

예시1) 전자 계산기 예시를 들어보자.

혼공자 유툽 참고

// 리턴값이 없는 메소드는 리턴 타입에 void로 작성한다.
void powerOn() { ... } //전자계산기에 전원을 키기만 하기때문에 리턴할 값이 없음

// 리턴값이 있는 메소드는 리턴 타입에 해당 타입을 작성한다.
// 나누는 값이 두개가 들어가서 int형 타입 매개변수를 두개 갖고있다.
double divide(int x, int y) { ... } //나누기 하는 기능으로 double값이라 가정하여 기술함

 

위 두개의 메소드 호출 방법이다.

//리턴값이 없을때
powerOn();
// 리턴값이 없어서 변수에 저장할 내용이 없다.

//리턴값이 있을때
double result = divide(10,5);
// divide() 메소드는 10을 5로 나누고 값인 2를 리턴하므로 저장할 변수가 필요하다 (result)
// 리턴값을 받기위해 divide() 메소드의 리턴 타입인 double타입으로 선언
// int result = divide(10,5); // 컴파일 에러를 발생시킴

 

메소드 이름

  • 숫자로 시작하면 안되고, $_ 를 제외한 특수문자 사용 불가
  • 메소드 이름은 관례적으로 소문자로 작성한다
  • 서로 다른 단어가 혼합된 이름이라면 낙타 표기법(Camel Case)으로 작성한다. 

예시2) 메소드 이름 작성 예시

void run() { ... }
void powerOn() { ... }
String getName() { ... }
int[] getScores() { ... }

 

 

※용어 정리

  • 선언부: 메소드 선언부는 리턴 타입, 메소드 이름, 매개 변수 선언 부분을 말한다.

  • void: 리턴값이 없는 메소드는 리턴타입으로 voide를 적는다.

 

 

 

본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형

댓글