soominkim Study
article thumbnail
Published 2022. 11. 5. 20:25
[Java] Method (3) Java
728x90

 

 

Method(2)에서 사용법을 공부했다.

Method overloading과 Method overriding을 알아보자.

 

4. Overloading

한 Class 내에 같은 이름의 메소드를 여러개 정의하는 것.

하지만 조건이 있다. 

 

바로 매개변수가 달라야한다.

① 메소드의 이름이 같아야한다.

② 매개변수의 개수나 타입이 달라야 한다.

 

바로 코드로 살펴보자.

 

Main Class는 Example()이라는 이름의 메소드를 두 개 가지고있다.

자세히 보면 ⓛ Example() 메소드 이고, ② Example(String text) 메소드 이다.

차이를 말하면 1번 Exapmle() 메소드는 매개변수가 없고, 2번 Example 메소드는 String 타입의 text를 매개변수로 가진다.

먼저 1번 Example() 를 실행해보면  아래와 같이 나오는 것을 확인할 수 있다.

1번 Example() 메소드 결과

 

다음 2번 Example() 메소드를 실행해보자.

 

2번 Example() 메소드 결과를 확인하자.

2번 Example() 메소드 결과

 

분명 동일한 이름의 Example() 메소드를 실행했지만 매개변수를 준 경우와 주지 않은 경우 서로 출력되는 값이 다른 것을 확인할 수 있다. 바로 이것이 Overloading이다.

 

오버로딩을 하는법을 알았으니 주의사항을 알아보자.

 

주의사항

매개변수의 개수와 타입은 같고 리턴값이 다른 경우 이는 오버로딩이라고 부르지 않는다.

 

바로 코드로 살펴보자.

역시 동일하게 Example() 이름의 메소드이며 매개변수는 가지지 않는다.

하지만 결과를 보면 Error가 발생한다.

메소드의 형태를 생각해보자.

메소드는 public static로 시작하여 리턴타입 그리고 메소드명이 들어가고 매개변수가 들어간다.

이때 이 리턴타입이 오버로딩과 아무런 연관이 없기 때문이다.

 

 

728x90

'Java' 카테고리의 다른 글

[Java] 메모리 구조 (Static,Stack,Heap)  (0) 2022.11.07
[Java] Class 와 Instance 그리고 Object  (0) 2022.11.07
[Java] Method (4)  (0) 2022.11.07
[Java] Method (2)  (0) 2022.11.05
[Java] Method (1)  (0) 2022.11.05
profile

soominkim Study

@soominkim

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그