메서드오버로딩_Java

2021. 12. 14. 15:46ksmart_Java/Java

728x90
메서드란?

동작(기능)에 해당하는 중괄호 {}블록을 지칭

리턴타입 : 메서드가 리턴하는 결과의 타입

메서드 이름 : 메서드가 리턴하는 결과의 타입

매개변수 선언 : 메서드를 실행할 때 필요한 데이터를 받기 위한 변수 선언

메서드 실행블록 : 실행 할 코드를 작성한다.

 

메서드 구성
-리턴타입 : 메서드를 실행 한 후 결과값(=리턴값)의 타입

메서드에 리턴값이 있을 수도 있고, 없을 수도 있으나, 있을 겨우 리턴 타입이 선언부에 명시 되어야함.

예시)

add()메서드는 덧셈의 결과를 리턴 하지만 print() 코드라면 결과 리턴이 없다.

돌려줄 값이 없을 경우 void로 작성

리턴 타입이 있으면 반드시 리턴문 사용

리턴값은 리턴 타입이거나 리턴 타입으로 변환 될 수 있어야 한다.

ex) public if sum(int x, int y){

byte result=(byte)(x + y);

return result;}

->실행문에서 byte를 return 하지만, int로 자동타입변환 되기 때문에 가능

-void 선언 된 메서드에 리턴문을 사용하면 메서드 실행을 강제종료.

매개변수는 필요한 경우가 있고 필요 없는 경우가 있다.

예시)

powerOn()메서드는 전원 키면 되는 것 = 매개변수 필요 없음

add()메서드는 덧셈을 할 2개의 매개변수가 필요

메서드 오버로딩

클래스 내에 같은 이름의 메서드를 여러개 선언

'하나의 메서드 이름으로 여러 기능을 담는다.'

조건은 매개변수의 타입, 개수, 순서 중 하나가 달라야 한다.

같은 profile이라는 메서드지만 여러가지 방식으로 작성해주면 ,여러가지 방식으로 호출할 수 있다.

예시는 개수가 다르지만 타입이나 순서를 다르게 해주어도 정상 실행 가능하다.

728x90