객체지향 프로그래밍 (변수/클래스) (2)

메소드

막상 정리하려고 보니 앞서 했던 내용도 많이 겹치고, 그냥 자연스럽게 잘 쓰고 있었던.. 그런 내용들이다!

메소드란 객체의 동작에 해당하는 중괄호 { } 블록이다. 메소드의 이름을 가지고 메소드를 호출하게 되며, 호출 시 블록 내의 모든 코드들이 일괄적으로 실행된다.

메소드의 선언

메소드 = 선언부 + 실행블록

returnType methodName (value1, value2, ...) {
	~실행 블록 ~
    	}

메소드는 선언부와 실행블록으로 이루어져 있다.
선언부는 리턴 타입, 메소드 이름, 매개변수로 이루어져 있다.

  • 리턴 타입 : 메소드가 실행 후 리턴하는 값의 타입을 말한다. 리턴값이 존재하지 않는다면 리턴 타입을 비워두는게 아니라 void를 입력해준다.
  • 메소드 이름 : 메소드 이름은 자바 식별자 규칙에 맞게 작성해주면 된다. 호출 시 이름을 사용하기 때문에 어떤 기능을 수행하는지 쉽게 알 수 있도록 기능 이름으로 지어주는 것이 좋다.
  • 매개변수 : 메소드가 실행될 때 필요한 값을 외부에서 받기 위해 사용된다. 반드시 있어야하는 것은 아니며, 매개변수가 있다면, 실행 블록이 처리될 때 주로 매개변수를 사용한다.

리턴문

리턴값이 있는 메소드

메소드 선언 시 리턴값이 있는 메소드는 반드시 return문을 사용해 리턴값을 지정해야 한다. return문이 실행되면 메소드는 즉시 종료된다.

리턴값이 없는 메소드(void)

위에서 리턴값이 존재하지 않을 경우 리턴 타입이 오는 자리에 void를 입력한다고 했다. 그러나 리턴값이 없는 메소드도 return문을 사용할 수 있다. 메소드 실행을 강제 종료시키는 것이다.

메소드 호출

  • 객체 내부에서 호출할 경우 : 메소드(매개값1, 매개값2, ...);
  • 객체 외부에서 호출할 경우 : 우선 객체를 생성한 후 참조변수를 사용해 호출해야 한다.
    참조변수.메소드(매개값1, 매개값2, ...);

메소드 오버로딩

메소드의 이름은 같으나 매개변수의 타입, 개수, 순서 중 하나 이상이 다른 메소드를 말한다.

리턴 타입만 다르고 매개변수가 동일한 경우는 오버로딩이 아니다. 리턴 타입은 자바 가상 기계가 메소드를 선택할 때 아무런 도움을 주지 못하기 때문이다.






  • 참고 : 이것이 자바다 (by 신용권님)

좋은 웹페이지 즐겨찾기