티스토리 뷰
자바에서 메서드는 같은 작업, 같은 내용의 반복이 일어날때마다 같은 코드를 작성하지 않고
클래스 내부에 코드를 만들어 재사용하기 위해 사용한다.
메서드의 방법은 아래와 같다.
이미 주석문에서 대략적인 설명을 작성했지만 반환형을 추가로 정리하면 void는 메서드를 호출할때 반환할 값이
없다는것을 의미한다.
반환하는 값이 있다면 반환되는 타입을 명시해주고 타입에 맞게 결과값을 리턴해주면 된다.
예를들어 메서드의 반환형이 int라면 결과값을 정수형으로 return하여 메서드를 호출하는곳에 넘겨준다.
클래스안에 메서드를 만들어보자.
getInfo(), getInfo(int x, int y), getInfo(String s1, Strings2) 라는 메서드를 만들었다.
세 메서드 모두 이름이 똑같다. 잘 살펴보면 파라미터(매개변수)의 갯수 혹은 타입이 다르다.
이것을 오버로딩이라고 한다.
'직관적으로 지어라', '가독성을 우선시해라' 개발 메뉴얼과 네이밍룰을 지켜가면서 변수명,메서드명을 생성할텐데
넘어오는 값에 따라 처리만 달라지고 결국 하는일은 똑같은 메서드를 하나 하나 이름을 다르게 지어야한다면
그것도 골치아픈 일이 될 수 있다.
오버로딩의 조건은 다음과 같다.
1. 메서드의 이름이 같아야 한다.
2. 파라미터의 갯수 혹은 타입이 달라야한다.
이제 메인 함수에서 객체를 생성하고 오버로딩을 사용한 함수들을 호출해 본다.
파라미터가 없는 메서드에는 멤버변수 i에 '10'을 넣어줬다.
파라미터를 정수로 2개 받는 메서드에는 '4'와 '10'을 넘겨줬다.
파라미터를 문자열 2개 받는 메서드는 'str1', 'str2'을 넘겨줬다.
결과값은 아래와 같다.