mygomii

[JAVA] Overloading(오버로딩) & Overriding(오버라이딩) 본문

Java

[JAVA] Overloading(오버로딩) & Overriding(오버라이딩)

mygomii 2022. 2. 14. 20:16
반응형
  •  Overloading
    • 같은 method를 중복하여 정의하고 다른 시크니처를 가지고 있음 
    • fun a(a: int) {
      }
      
      fun a(a: int, b: int) {
      }
      
      fun a(a: int, b: int, c: int) {
      }
  • Overriding (오버라이딩)
    • 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것
    • 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없음
    • 부모 클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없음
    • class Parent {
      	public a() {
      		System.out.println("Parent : a");
      	}
      }
      
      class Child extends Parent {
      	@Override
      	public a() {
           	super.a()
      		 	System.out.println("Child : a");
      	 }
      
        public static void main(String[] args) {
      		Child child = new Child();
      		System.out.println(child.a());
        }
      }
      
      // 결과
      Parent : a
      Child : a

      # 오버로딩은 새로운 메소드를 정의하는 것이고, 오버라이딩은 상속받은 기존의 메소드를 재정의 하는 것 

 

참고 사이트

https://gmlwjd9405.github.io/2018/08/09/java-overloading-vs-overriding.html

 

[Java] 오버로딩과 오버라이딩의 차이(Overloading VS Overriding) - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

https://private.tistory.com/25

반응형

'Java' 카테고리의 다른 글

[JAVA] #접근 제어자  (0) 2019.06.24
[JAVA] #import  (1) 2019.06.24
[JAVA] #package  (0) 2019.06.21
[JAVA] #현재 날짜 시간 구하기  (0) 2018.09.21