본문 바로가기

Backend/Java

오버라이딩과 오버로딩

오버라이딩(overriding) : 상속받은 메서드의 내용을 변경하는 것 

1. 선언부가 조상과 일치

2. 접근제어자가 조상보다 좁은범위로 변경할 수 없음

3. 예외는 조상보다 많이 선언할 수 없음 

 

오버로딩(overloading) : 기존에 없는 새로운 메서드를 정의하는 것

하나의 클래스 내에서 같은 이름을 가지는 메서드가 여러 개 정의되는 것 

1. 메서드 이름이 같아야함

2. 매개변수의 개수 또는 타입이 달라야함

3. 반환 타입은 관계없음

 

*서로 관련이 없음!

class Parent {
	void parentMethod() {}
}

class Child extends Parent{
	void parentMethod() {} //오버라이딩
	void parentMethod(int i) {} //오버로딩 : 같은이름, 매개변수가 다름 
	
}

출처: 자바의 정석 기초편(남궁성 저)

'Backend > Java' 카테고리의 다른 글

캡슐화와 접근제어자  (0) 2022.07.12
this와 super  (0) 2022.07.11
클래스 메서드(static 메서드)란?  (0) 2022.07.07
반복되는 음수값이 있는 총합 구하기  (0) 2022.06.29
랜덤 숫자 맞히기(do - while문)  (0) 2022.06.29