ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오버로딩(overloading) 와 오버라이딩(overriding)
    Programming/JAVA 2009. 3. 18. 20:47

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

    오버로딩(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();
         }
    }


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

    댓글 0

Designed by Tistory.