인터페이스

    기초 #9. 인터페이스 Soldier (인터페이스 예제편)

    기초 #9. 인터페이스 Soldier (인터페이스 예제편)

    이전 글에서 적은 예제인 RemoteControl 인터페이스보다 더 기본에 충실한 예제를 적어보겠다. 1. 인터페이스 Soldier 코드 ▶인터페이스에는 기본적으로 상수와 추상메서드가 있다. ▶인터페이스에는 구현할 클래스들의 공통요소를 정의만 해놓는 역할을 한다. ▶군인의 공통점으로는 팔다리가 있고, 먹고,일하고,놀고,자고,경례를 한다는 점이다. public interface Soldier { final static int arm = 2; int Legs = 2;//컴파일과정에서 자동으로 final static이 붙어, 외부에서 변경 불가능하다. public abstract void eat(); void work();//abstract키워드를 쓰지않아도 추상메서드. why? body {}가 없으니까. v..

    기초 #8. 인터페이스 (+익명 구현 객체)

    기초 #8. 인터페이스 (+익명 구현 객체)

    인터페이스란 ▶하나의 틀, 규격을 말한다! ▶생성자가 없다. (인터페이스에서는 생성의 개념이 없다.) ▶추상클래스와 목적이 같은데, 즉 지정받거나 상속받는 클래스들의 공통요소를 묶기 위함이다. 하지만 추상클래스와는 차이점이 있다. ▶추상클래스와 인터페이스의 차이점 인터페이스 추상클래스 동작 가능성 (생성자 유무) (단, 추상메서드일 경우)동작 실행 개념이 없기 때문에 실질적인 동작구현(블록 {})이 없다. (생성자 X) 실행 개념이 있는 일반 메서드는 구현할 수 있지만 추상메서드의 경우, 동작구현을 하지 않는다.(블록 {}이 없다.) 재정의 강제성 인터페이스에서 정의한 요소를 하위클래스가 모두 재정의하도록 강제성을 부여한다. 재정의 강제성은 있지만 하위클래스가 필요한 요소를 선택해서 쓸수 있다. ** 동..

    기초 #6. 인터페이스 예습

    인터페이스 # 클래스와 인터페이스의 관계 우리가 어플, 게임, 전화, 문자 등의 기능이 있는 스마트폰을 갖고있는데, 부모님에게 전화기라고 소개를 하게되면, 부모님은 전화기로만 그 스마트폰을 이용하게되고 꼬맹이에게 게임기라고 소개하게되면, 꼬맹이는 누군가한테 실수로 전화&문자할 일 없이, 게임기만을 이용하게 된다. 여기서 스마트폰은 클래스이고, 전화기, 게임기는 인터페이스라고 생각하면된다. 한 인스턴스가 게임기만을 쓰고자 할때는, 그 게임기 인터페이스를 타입으로 지정하면 되는 것이다. (이럴때 그 인스턴스는 다른 기능의 메서드에 접근하지 못한다.) # implement : 구현하다 변수의 타입으로 인터페이스를 지정하면, 그 인터페이스를 구현하는 클래스를 대입할 수 있다. 이제 세가지 상황을 코드로 봐볼 것..