본문 바로가기

Programming

오버로딩(overloading) 와 오버라이딩(overriding)

반응형

 이건 자바에만 해당되는 개념이 아니다. 거의 모든 객체지향 언어에서 사용되는 개념일 것이다.

오버로딩(overloading) - 메소드 이름이 같고 매개변수의 수나 타입이 틀린것이다.
     int sum(int a, int b);
     int sum(float a, float b);

     이런것이다. 컴파일시 매개변수의 갯수와 데이터타입에 따라서 함수명을 바꿔준다고 한다. 자바에만 해당되지는 않을 것이다.

오버라이딩(overriding) - 상속에서 부모클래스의 메소드를 하위메소드에서 재정의 하는것이다.

class Father
{
     void sayName()
     {
          System.out.print("My name is brown");
     }
}
class Son extend father
{
     void sayName()
     {
          System.out.print("My name is mike");
     }
}


상위 클래스인 Father에 있는 sayName() 메소드를 하위 클래스인 Son에서 재정의 하는것입니다.
만약 다음과 같이 실행하게 되면 "My name is mike" 가 출력될것이다.

class test
{
     public void static main(String args[])
     {
          Son son = new Son();
          son.sayName();
     }
}


이와 같이 하위클래스에서 상위클래스의 메소드를 재정의하는 것을 오버라이딩이라고 한다.

반응형

'Programming' 카테고리의 다른 글

배열 선언, 복사  (0) 2009.03.24
퀵정렬(quick sort)  (0) 2009.03.19
[C] 함수와 배열 그리고 포인터 - 1부  (0) 2009.03.18
Visual Studio 2005 or 2008 에서 C의 사용법  (0) 2009.03.16
콘솔에서 잠시 멈추기  (2) 2009.03.13