객체지향 프로그래밍 (변수/클래스) (2)
메소드
막상 정리하려고 보니 앞서 했던 내용도 많이 겹치고, 그냥 자연스럽게 잘 쓰고 있었던.. 그런 내용들이다!
메소드란 객체의 동작에 해당하는 중괄호 { } 블록이다. 메소드의 이름을 가지고 메소드를 호출하게 되며, 호출 시 블록 내의 모든 코드들이 일괄적으로 실행된다.
메소드의 선언
메소드 = 선언부 + 실행블록
returnType methodName (value1, value2, ...) { ~실행 블록 ~ }
메소드는 선언부와 실행블록으로 이루어져 있다.
선언부는 리턴 타입, 메소드 이름, 매개변수로 이루어져 있다.
- 리턴 타입 : 메소드가 실행 후 리턴하는 값의 타입을 말한다. 리턴값이 존재하지 않는다면 리턴 타입을 비워두는게 아니라
void
를 입력해준다. - 메소드 이름 : 메소드 이름은 자바 식별자 규칙에 맞게 작성해주면 된다. 호출 시 이름을 사용하기 때문에 어떤 기능을 수행하는지 쉽게 알 수 있도록 기능 이름으로 지어주는 것이 좋다.
- 매개변수 : 메소드가 실행될 때 필요한 값을 외부에서 받기 위해 사용된다. 반드시 있어야하는 것은 아니며, 매개변수가 있다면, 실행 블록이 처리될 때 주로 매개변수를 사용한다.
리턴문
리턴값이 있는 메소드
메소드 선언 시 리턴값이 있는 메소드는 반드시 return문을 사용해 리턴값을 지정해야 한다. return문이 실행되면 메소드는 즉시 종료된다.
리턴값이 없는 메소드(void)
위에서 리턴값이 존재하지 않을 경우 리턴 타입이 오는 자리에 void
를 입력한다고 했다. 그러나 리턴값이 없는 메소드도 return문을 사용할 수 있다. 메소드 실행을 강제 종료시키는 것이다.
메소드 호출
- 객체 내부에서 호출할 경우 :
메소드(매개값1, 매개값2, ...);
- 객체 외부에서 호출할 경우 : 우선 객체를 생성한 후 참조변수를 사용해 호출해야 한다.
참조변수.메소드(매개값1, 매개값2, ...);
메소드 오버로딩
메소드의 이름은 같으나 매개변수의 타입, 개수, 순서 중 하나 이상이 다른 메소드를 말한다.
리턴 타입만 다르고 매개변수가 동일한 경우는 오버로딩이 아니다. 리턴 타입은 자바 가상 기계가 메소드를 선택할 때 아무런 도움을 주지 못하기 때문이다.
- 참고 : 이것이 자바다 (by 신용권님)
Author And Source
이 문제에 관하여(객체지향 프로그래밍 (변수/클래스) (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@frozenxnow/객체지향-프로그래밍-변수클래스-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)