Overloading, Overriding

·2023년 9월 26일

Java

목록 보기
1/1

아니 이거 뭐 맨날 알았다가 까먹었다가 난리임
걍 함 적어두고 한번씩 볼란다

일단 둘다 함수명은 동일하다.

오버로딩(Overloading): 같은 이름, 다른 parameter의 개수 및 type
오버라이딩(Overriding): 부모 클래스의 메서드를 자식 클래스에서 재정의해서 혹은 걍 상속 받아쓰기

OverLoading(확장, 과적)

동일 기능을하는 메서드를 하나의 이름으로 묶어주기 가능, 메서드 이름 절약

  • 접근 제어자를 자유롭게 지정할 수 있다.
    각 접근 제어자를 public, default, protected, private 등등 다 다르게 지정해줘도 노상관.
  • 벗뜨 중요한건 매개변수의 타입, 개수가 다른 것임다.

Overriding(상속, 재정의)

매개변수, 반환형 타입이 같은 경우 덮어 써서 재정의 하기.

  • 상위 클래스의 메서드보다 더 좁은 범위로 변경할 수 없다.
  • 더큰 범위의 예외를 선언할 수 없다.
  • 상위 클래스의 static 메서드는 class에 종속되어있기 때문에(컴파일 시 생성되어 메모리 적재, 다형성 적용 안댐), 상속도, override도 되지 않는다.
  • final -> 하위 클래스가 메서드 재정의 막기, override 불가
  • private -> 메서드 상속 자체 불가, override 불가

출처 https://wildeveloperetrain.tistory.com/110

profile
어?머지?

0개의 댓글