자바공부하기 81.

 

overloading vs overriding

 

overloading

- 동일한 클래스 내에서 같은 이름의 메소드를 중복 정의하여 다형성을 지원

- 메서드 이름은 동일하나 매개변수의 형이나 매개변수의 수가 다를 것

 

overriding

- 상속 관계에 있는 클래스간에 메소드를 중복 정의하여 다형성을 지원

- 즉, 메소드 오버라이딩을 이용하면 하위 클래스에서 동일 이름의 메소드를 새롭게 정의 가능

- 매개변수의 형이나 매개변수의 수 모두 동일해야함

 

 

 

메서드의 재정의와 다중 정의를 사용한 예

 

calss A {

...

int m1(int i) {...}

int m2(float f) {...}

...

}

 

class B extends A {

...

int m1(int i) {...}

int m2(float f1, float f2) {...}

int m3() {...}

...

}

 


 

 

 

 

 

자바공부하기 55

 

overloading

 

 

 

overloading이란?

- 같은 이름을 가진 여러개의 메서드

* 클래스의 사용자를 편하게 하기 위해서 사용하는 객체지향의 기법

* 한가지이름으로 여러가지 기능을 제공

* 중복 메서드, 다중정의 메서드라고도 함

 

- overloading을 사용할 때의 규칙

* 매개변수의 개수가 다를 것

* 매개변수의 형이 다를 것

* 위의 두 가지 조건 중 하나만 달라도 overloading은 성립

* 메서드의 리턴 형은 overloading을 구분할 때 사용하지 않음

 

 

예제

 

 

+ Recent posts