[Java] 오버로딩 / 재귀호출

이유은·2023년 12월 13일

[Java]

목록 보기
15/18

🌰 오버로딩(Overloading)

한 클래스 안에 같은 이름의 메서드 여러개 정의하는 것

메서드 이름 : 메서드 원래는 1:1
오버로딩 -> 메서드이름 하나에 메서드 여러개 정의 1:n
과적 - 원래보다 많이 쌓는 거 !

오버로딩의 대표적 예 - println!! () 매개변수가 다 다름
println(boolean x)
println(char x)
println(int x) ...등

뭐가 들어왔는지에 따라 어떤 걸 사용할지 결정하는 거 !

컴파일러가 매개변수가 어떤 타입인지 확인해서 그거에 맞는 메소드랑 연결해줌.
자바에서 오버로딩 지원!! 메소드 한개로도 여러가지 일을 할 수 있음

** 오버로딩이 성립하기 위한 조건

  1. 메서드 이름이 같아야 한다.
  2. 매개변수의 개수 또는 타입이 달라야 한다.
  3. 반환타입은 영향 없다.

ex : 두개의 수와 한개의 사칙연사자를 입력받아 처리하는 프로그램을 바꿔
사칙연산자를 입력받으면 메소드를 만들어서 처리하는
프로그램으로 바꾸어서 만들어보자.

- 마이너스의 경우 a>b 대소 비교후 return a-b ;, return b-a; 구분해줄것
- 나누기의 경우 a,b가 0이아닌지 확인하고 0일경우 리턴 1 아니면 절댓값 씌우는 거 해주면 되는데.. 귀찮아서 생략함


🍙 재귀호출

자기가 자기 자신을 또 호출 하는 것 / 끝나는 지점 정해줘야 함.


이런느낌 !! 끝나는 지점을 넣어주고, 거기에 또 메소드를 붙여서 ~~~
너무어렵당 ~~

지수는 요러케.. 비슷


피보나치도 있는데.. 귀차나서 걍 승미거 뽀림 ..
암튼 알아만 두시고요


profile
우당탕코딩

0개의 댓글