foxpacking

Programming Lessons

Java 언어 Korean

Java 총 정리[78. interface 활용]

interface 활용

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

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

interface의 태그 기능과 interface를 통해 보안을 향상을 시킬 수 있습니다. 이 2가지에 대해서 설명과 예제를 통해서 interface에 대해서 이해의 폭이 넓어 질 수 있습니다. 이번 걸음을 통해 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보안메인사진

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

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나