[Java] 메서드 오버로딩과 오버라이딩

2022. 6. 30. 20:21·Java/자바 이론

오버로딩은 한 클래스 내에서 같은 이름을 갖고 있지만 서로 다른 매개변수 형식을 가지고 있는

메서드를 여러개 정의하는 것을 의미한다.

 

오버라이딩은 부모 클래스에게 상속받은 메서드와 동일한 이름의 메서드를 재정의 하는 것을 의미한다.

 


1. 오버로딩

 

1. 조건

⦁메서드의 이름이 같고, 매개변수의 개수나 타입이 달라야 한다. 리턴 값만 다른 것은 오버로딩 할 수 없다.

⦁같은 목적으로 사용하는 메서드들만 오버로딩 해야한다. (주의사항)

 

2. 사용하는 이유

⦁같은 기능을 하는 메서드를 여러 개 정의하고 외우지 않아도 되기 때문에 편리하다.

⦁컴파일러의 특성


2. 오버라이딩

 

1. 조건

⦁부모 클래스의 메서드와 시그니처 및 리턴 타입이 동일해야 한다.

⦁부모 클래스의 메서드보다 접근 지정자의 범위가 같거나 넓어야한다.

 

2. 사용하는 이유

부모 클래스가 제공하는 메서드가 자식 클래스에 맞지 않을 경우 오버라이딩하여 사용한다.

완전 재가공하는 경우와 확장하는 경우가 있다.

 

+ 추상클래스에 오버라이딩을 강제하는 기능이 있다.

+ 동적바인딩을 하기 위해서 꼭 알아둬야 하는 개념이다.

 


참고 문헌 : Do it! 자바 완전정복

 

'Java > 자바 이론' 카테고리의 다른 글

[Java] 자바 인터페이스(Interface)란?  (0) 2022.07.05
[Java] 추상 클래스와 추상 메서드 (abstract)  (0) 2022.07.04
[Java] 자바 super 키워드 & super() 메서드  (0) 2022.06.30
[Java] 자바 클래스 상속의 장점과 특징  (2) 2022.06.30
[Java] 클래스 관계 HAS-A (포함) / IS-A (상속) 정리  (2) 2022.06.29
'Java/자바 이론' 카테고리의 다른 글
  • [Java] 자바 인터페이스(Interface)란?
  • [Java] 추상 클래스와 추상 메서드 (abstract)
  • [Java] 자바 super 키워드 & super() 메서드
  • [Java] 자바 클래스 상속의 장점과 특징
현기
현기
  • 현기
    현기의 개발블로그
    현기
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • Front-End (39)
        • Next (5)
        • React (8)
        • React Native (11)
        • Flutter (0)
        • Vue (1)
        • JSP (9)
        • HTML, CSS, JS (5)
      • Back-End (16)
        • Node.js (3)
        • Spring (8)
        • Flask (1)
        • AWS (4)
      • DB (5)
        • Oracle (4)
        • MySQL (1)
      • Python (7)
      • Java (27)
        • 자바 이론 (17)
        • 코딩테스트 연습 & 실습 (10)
      • 자료구조 & 알고리즘 (7)
        • 코딩테스트 (6)
        • 알고리즘 (1)
      • 블록체인 (0)
      • 프롬프트 엔지니어링 (0)
      • CS 지식 (5)
      • IT뉴스 (0)
      • 일상 (3)
      • etc (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    그리디
    자바스크립트
    포스트맨
    자바 스프링
    Express
    큐
    자바
    쓰레드
    React Native
    JDBC
    JSP
    node.js
    오블완
    Java
    리액트 네이티브
    react
    서블릿
    react-native-chart-kit
    오라클
    티스토리챌린지
    REST API
    React Native Chart
    DI
    Python
    파이썬
    Spring
    상속
    next-intl
    IS-A
    스택
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
현기
[Java] 메서드 오버로딩과 오버라이딩
상단으로

티스토리툴바