프로그래밍/JAVA
자바 @Override, extends, implements
강몬드
2015. 4. 29. 14:40
@Override 는 말 그대로 해석하면 ~겹치다,변경하다는 뜻으로 자바에서 함수 구현에서
사용되어집니다.
자바 프로그래밍 언어 특징으로 OOP(객체지향프로그래밍)가 있습니다.
사용 목적에 맞는 클래스를 만들어서 사용합니다.
클래스내에는 각 클래스에 필요한 메소드가 정의되어집니다.
대표적으로 부모 클래스, 자식 클래스라 지칭하여 예를 들어서 설명을 하는데
부모클래스로부터 자식클래스가 상속받은 메소드 등을 사용할 수 있고 부모 클래스 내에서 정의되어져있는 구현이 아니라 자식클래스에서 새롭게 재정의하여 사용가능합니다.
class 부모 {
public int method(int a) {
return a;
}
}
부모클래스에서 메소드는 매개변수 a값을 리턴하는 함수입니다.
class 자식 extends(or implements)부모{
@Override
public int method(int a){
return a+1;
}
}
자식클래스에서 위와 같이
@Override를 사용하여 부모클래스에 메소드를 재정의하여 사용할 수 있습니다.
여기서 잠깐 나온 extends 와 implements는 부모클래스에 상속을 지시하는 지정어입니다.
두 지시어 모두 상속한다는 의미에선 같지만
extends는 '순수 상속' 이라 부르며, 상속하는 클래스의 모든 것들을 받는 것을 의미합
니다.
implements는 '구현 상속' 이라 부르며, extends 와 같게 상속받지만 그 상속 내용이
비어있어 사용자가 반드시 그 내용을 채워야 하는 상속 방법입니다.