[Spring Boot] 오버로딩 언제 할 수 있을까

2023. 6. 11. 22:59·개발/Spring Boot
728x90
반응형

오버로딩이란 메소드 이름은 같지만 다른 역할을 하는 메소드들을 만드는 것이다.

흔히들 오버라이딩과 오버로딩을 비교하곤 하지만 다른 개념이라 생각하여 따로 정리했다.

 

나는 개인적으로 오버로딩이란 개념을 좋아한다.

왜냐하면 같은 메소드 이름으로 여러 기능을 하는 메소드를 만들수 있기때문에 메소드 이름 작명의 수고를 덜어준다.

이름을 짓는 건 언제나 창작의 고통이기 때문에 오버로딩을 좋아하게 되었다.

그래서 오버로딩 어디까지 할 수 있는지 알아보기 위해 글을 쓴다.

 

1. 매개변수가 다를때

가장 보편적인 경우이다.

매개변수가 다를때 오버로딩이 가능하다.

(1) 매개변수 갯수가 다를때

public void Method1() {}
public void Method1(int a) {}

(2) 매개변수 타입이 타를때

매개변수 갯수가 같아도 타입이 다르다면 오버로딩이 가능하다.

public void Method1(String a) {}
public void Method1(int a) {}

2. 반환타입이 다를때

이 글을 작성하게 된 계기기도 하지만 반환타입이 다를때 어떻게 될까를 궁금해했다.

결론은 안된다.

public int Method1() {
    return 1;
}
public void Method1() {}

반환타입이 다르면 컴파일 에러가 난다.

 

결론

오버로딩은 매개변수에 따라서만 가능하다.

728x90
반응형

'개발 > Spring Boot' 카테고리의 다른 글

[Spring Boot] Spring Security - OAuth2 (Google login)  (0) 2023.07.20
[Spring Boot] Spring-REST-Docs로 자동으로 API 문서화  (0) 2023.07.17
[Spring Boot] Mockito란?  (1) 2023.05.31
[Spring Boot] DI 구현 방법 3가지  (0) 2023.05.26
[Spring Boot] dotenv(.env) 때문에 날려버린 2일  (0) 2023.05.24
'개발/Spring Boot' 카테고리의 다른 글
  • [Spring Boot] Spring Security - OAuth2 (Google login)
  • [Spring Boot] Spring-REST-Docs로 자동으로 API 문서화
  • [Spring Boot] Mockito란?
  • [Spring Boot] DI 구현 방법 3가지
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    go
    mysql
    ERC721
    30일챌린지
    도커
    node.js
    30일 챌린지
    하이퍼레저
    프로그래머스
    go언어
    컨테이너
    명령어
    html
    CSS
    React
    nodejs
    erc20
    블록체인
    js
    node
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[Spring Boot] 오버로딩 언제 할 수 있을까
상단으로

티스토리툴바