티스토리 뷰

반응형

 - 오버라이딩(Overriding)

 

 메소드의 재정의를 뜻한다.

 TestA와 TestB라는 클레스가 있을 때 TestA를 TestB가 상속받고 TestA의 메소드를 TestB가 재정의 할 때 오버라이딩이라 말한다.

 오버라이딩 할때에는 접근제한자, 메소드의 이름, 리턴타입 그리고 파라미터의 타입과 수가 일치해야 한다.

 

 class TestA {

      public int add(int a, int b){

           return a + b;

      }

 }

 class TestB extends TestA {

      int c = 10;

      public int add(int a, int b){

           return a + b + c;

      }

 }

 

 위의 B클레스의 add메소드가 오버라이딩한 상태이다.

 

 - 오버로딩(Overloading)

 

 이름이 같은 여러개의 메소드를 만드는것을 뜻한다.

 오버로딩 할때에는 메소드의 이름이 같고 파라미터의 타입과 개수가 달라야 한다.

 파라미터의 타입과 개수가 다르다면 접근재한자와 return타입은 상관없이 만들 수 있다.

 만약 파라미터의 타입과 개수를 같게하여 접근제한자와 return타입만 다르게 한다면 에러가 난다.

 

 class TestA {

      public int add(int a, int b){

           return a + b;

      }

      public int add(int a, int b, int c){

           return a + b + c;

      }

 }

 

 클레스 A의 메소드 add를 오버로딩한 상태이다.

반응형

'java&spring' 카테고리의 다른 글

인터페이스(interface)  (0) 2016.08.06
[Java] 생성자  (0) 2016.08.04
this, this(), super, super()  (0) 2016.08.02
[Java] try-with-resources  (0) 2016.07.25
삼항 연산자  (0) 2016.07.23
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday
글 보관함
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31