반응형

프로그램을 할 때 중요한 것 중에 하나가 

잘 만들어진 유틸리티나 모듈을 얼마만큼 잘 사용 중요한 부분 중에 하나입니다.

사용하는 방법은 여러가지가 있을 수 있습니다.

 

가장 쉬운것은 역시 객체를 선언하고 해당 객체의 함수를 사용하는 것입니다.

하지만 이 역시 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;
         }
}

이렇게 사용한다면 더 유용하게 사용할 수 있습니다.

이제 위 내용을 참고해서 예제 코드를 작성해본다면 이해가 잘 될 수 있습니다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기