여씨의 개발이야기

오버로딩과 오버라이딩 비교 본문

📕 Note

오버로딩과 오버라이딩 비교

yeossi 2024. 1. 16. 16:08

1. 오버로딩 : 기존에 없던 새로운 형태의 메소드를 정의하는것이다. (이름은 같지만 메개변수로 받는 갯수가 다른경우)
- 오버로딩은 상속과 관련이 없음, 한 클래스의 같은이름으로 두개이상 안의 내용만 다름
- 메소드 이름이 같아야한다, 매개변수의 개수 또는 타입이 달라야한다.
매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다. 

2. 오버라이딩 : 기존에 있는 (상속받은)메소드를 재사용 하는것을 의미한다. (메소드 이름은 같으나 안에 정의되는 내용은 다르다.)
- 오버라이딩은 상속과 관련이있다, 부모것을 물려받아서 자신에게 맞게 수정하는것
- 이름, 매개변수, 리턴타입이 같아야 한다.
- 오버라이딩을 할때 조심해야할점
1) 접근제어자를 부모클래스보다 좁은 범위로 변경할수없다.
2) 예외는 부모클래스보다 많이 선언 할 수 없다.
3) 인스턴스 를 static  또는 static 을 인스턴스로 변경할수없다.

 

Comments