Categories: Java 언어Korean

Java 총 정리[78. interface 활용]

interface 활용

interface 활용을 같이 공부를 하겠습니다. 이전에서는 계속 상속과 추상화에 대해서 공부와 문제까지 해결을 해봄으로써 상속에 대한 내용과 추상화에 대해서 좀 더 깊이가 생겼다고 생각을 합니다. 이번 걸음에서 상속과 추상화에 대한 마지막 이야기를 해보겠습니다.

interface가 추상화 메소드 이외에는 가지지 못하기 때문에 활용이 적다고 생각을 할 수 있지만 이번 걸음을 통해서 interface에 대해서 좀 더 이해와 실력 향상을 할 수 있습니다.

interface의 태그 기능과 interface를 통해 보안을 향상을 시킬 수 있습니다. 이 2가지에 대해서 설명과 예제를 통해서 interface에 대해서 이해의 폭이 넓어 질 수 있습니다. 이번 걸음을 통해 interface에 대한 한걸음 발전이 될 수 있기를 바랍니다.

interface 태그 기능

interface를 추상화 메소드를 선언을 하는 것이 아니라 그 interface 자체를 사용해서 그 interface를 상속을 받은 자식 class들만 사용이 가능한 Method를 생성을 하거나 구분을 줄 수 있습니다. 마치 태그와 같이 나눌 수 있는 것 같아서 interface에 태그 기능이라고 이름을 붙혔습니다.


interface Asia{}

class Korea implements Asia{
}

class USA{
}

public class Test{
    public static asiaCheck(Asia a){
        System.out.println("아시아 입니다.");
    }
    public static void main(String[] args){
        Korea k = new Korea();
        USA u = new USA();
        asiaCheck(k);//정상 동작
        asiaCheck(u);//error 발생
    }
}


위의 소스처럼 interface의 부모를 상속을 받은 경우에 따라서 동작이 되고 동작이 되지 않기 때문에 태그와 같이 분류가 되어 있기 때문에 사전에 문제를 찾고 수정이 가능해집니다.

interface 보안

interface를 사용해서 추상화된 Method를 상속을 받아서 재정의를 하게 됩니다. 그러면 실제 기능의 정의 되어있는 자식 class가 아니라 부모인 interface만 외부로 노출을 시켜주는 것입니다. 그러면 실제 이 프로그램을 사용을 하는 사람은 정의 되어 있는 기능은 볼 수 없고 추상화 되어 있는 interface만을 볼 수 있게 됩니다.

※ 위와 같이 된다면 실제 동작을 숨길 수 있기 때문에 보안에 상당히 좋습니다.

함께 보면 좋은 글

§ Java 마흔 세걸음 class(클래스)란?
§ Java 마흔 네걸음 class(클래스) 예제
§ Java 마흔 다섯걸음 class(클래스) 문제 1
§ Java 마흔 여섯걸음 class 내부 용어 정리
§ Java 마흔 일곱걸음 null
§ Java 마흔 여덟걸음 생성자란?
§ Java 마흔 아홉걸음 has 란?
§ Java 오십 걸음 has 문제
§ Java 오십 한걸음 객체 심화
§ Java 오십 두걸음 class 배열
§ Java 오십 세걸음 class 배열 심화
§ Java 오십 네걸음 class 배열 문제
§ Java 오십 다섯걸음 오버로딩 기초
§ Java 오십 여섯걸음 Method 오버로딩
§ Java 오십 일곱걸음 생성자 오버로딩
§ Java 오십 여덟걸음 오버로딩 문제
§ Java 오십 아홉걸음 접근 제한자
§ Java 육십 걸음 접근 제한자 사용
§ Java 육십 한걸음 상속 기초
§ Java 육십 두걸음 상속 특징
§ Java 육십 세걸음 IS 관계
§ Java 육십 네걸음 상속 기초 문제
§ Java 육십 다섯걸음 참조 자료형 변환 기초
§ Java 육십 여섯걸음 참조 자료형 변환 심화 1
§ Java 육십 일곱걸음 참조 자료형 변환 심화 2
§ Java 육십 여덟걸음 Method Overriding 기초
§ Java 육십 아홉걸음 Method Overriding 심화
§ Java 칠십 걸음 Method super 란?
§ Java 칠십 한걸음 equals ?
§ Java 칠십 두걸음 final ?
§ Java 칠십 세걸음 추상화
§ Java 칠십 네걸음 abstract class
§ Java 칠십 다섯걸음 interface
§ Java 칠십 여섯걸음 추상화 심화
§ Java 칠십 일곱걸음 추상화 문제
Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

7개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

7개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

7개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

8개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

8개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

8개월 ago

This website uses cookies.