프로그램을 할 때 중요한 것 중에 하나가
잘 만들어진 유틸리티나 모듈을 얼마만큼 잘 사용 중요한 부분 중에 하나입니다.
사용하는 방법은 여러가지가 있을 수 있습니다.
가장 쉬운것은 역시 객체를 선언하고 해당 객체의 함수를 사용하는 것입니다.
하지만 이 역시 java라는 언어가 발전하며 어노테이션으로 정의해서 사용하는 경우도 생기고 있습니다.
이번에는 이런 여러가지 중에 상속에 대해 정리해보겠습니다.
interface와 extends에 대해 알아보겠습니다.
두 가지 모두 상속의 개념입니다.
여기서 상속에 대해 알아보면 상속은 부모 클래스의 함수를
상속받는 자식 클래스가 사용하는 것을 의미합니다.
부모를 상속받을 때는 다음과 같이 선언합니다.
public class ChildClass extends ParentClass {
.......................
......................
}
이렇게 하면 부모를 객체로 선언하지 않아도 부모 클래스에 선언된 함수들을
사용할 수 있습니다.
interface는 extends와는 차이가 있는데 extends가 부모 클래스의
함수를 사용하는 것이라면 interface는 부모클래스의 함수를 재정의 하여 사용한다고
할 수 있습니다.
어떻게 보면 상속과는 약간 다른 의미가 될 수 도 있습니다.
보통 부모 클래스에서는 함수를 선언하고 이를 사용하는 자식 클래스에서 부모가 선언한 함수를
정의하고 사용하는 것입니다.
만약 자식 클래스가 여러 명이고 같은 함수를 변경해서 사용하는 경우 유용하게 사용할 수 있습니다.
interface 클래스 정의는 다음과 같이 합니다.
public interface TestInterface {
public boolean isTest(String str) { }
}
이 interface를 사용 할 때는 implements를 사용합니다.
public class TestObj implements TestInterface {
public boolean isTest(String str) {
if(str == "123")
return true;
else
return false;
}
}
위와 같이 자식 클래스에서 정의해서 사용 가능합니다.
extends와 interface를 같이 사용할 수도 있습니다.
public class TestExt extends ParentClass implements TestInterface {
public boolean isTest(String str) {
return false;
}
}
이렇게 사용한다면 더 유용하게 사용할 수 있습니다.
이제 위 내용을 참고해서 예제 코드를 작성해본다면 이해가 잘 될 수 있습니다.