Skip to content

Latest commit

 

History

History
29 lines (25 loc) · 1.85 KB

File metadata and controls

29 lines (25 loc) · 1.85 KB

1. 오버라이딩

  • 상속받은 부모클래스에 존재하는 메서드를 재정의하는 것을 오버라이딩이라고 한다.
    ex) public class GameClass {
    public void start() {
    Sytem.out.println("게임시작"); } }

public class lotto extends GamesClass{ //오버라이딩된 메서드 //부모에 존재하는 메서드와 형태가 완전히 동일해야한다. //리턴 타입, 메서드형, 매개변수의 타입, 매개변수의 개수 public void start(){

}

}

  • 오버라이딩은 다형성을 부여하기 위한 방식. 같은 메서드를 상속받아서 각각의 자식클래스만의 다른 메서드로 만들 수가 있기 때문이다.

2. 오버로딩과 오버라이딩

  • 오버로딩은 이미 존재하는 메서드를 같은 이름으로 매개변수의 타입이나 개수를 조작하여 다른 메서드로 만드는 것, 상속과는 무관.
  • 오버라이딩은 상속과 관련이 있다. 부모클래스로부터 상속받은 메서드를 자식클래스에서 재정의하는 것을 오버라이딩이라고 한다.

3. @Override

  • @Override, @Component, @Controller ....
  • 이런 것들을 어노테이션이라고 부른다.
  • 어노테이션 : 자바 프로그램이 컴파일 될 때 컴파일러에게 메서드나 변수, 클래스의 특징을 미리 알려줘서 컴파일 시간을 단축시키는 장점을 가지고 있다.
  • 클래스를 상속하게 되면 컴파일러가 자식클래스를 컴파일하면서 자식클래스에 있는 메서드가 오버라이딩된 메서드인지 부모클래스와 비교한다.
  • @Override 어노테이션 사용 시 ㅣ이 메서드가 오버라이드 된 메서드라는 것을 컴파일러에게 알려준다. 그래서 @Override 어노테이션 선언되어있는 메서드는 부모클래스와 비교하지 않고 바로 오버라이딩 처리한다.