본문 바로가기
자료실/Java

Basic Java(기본 5)

by 페페군 2018. 5. 31.
반응형

자바 프로그래밍 기초
  1.인터페이스와 다형성
    1)추상클래스 : 완전하게 구현되어있지않은 메소드를 가진 클래스. 객체생성 불가.
    생성방법: 접근제어자 abstract class 클래스명(); <<추상클래스는 항시 세미콜론으로 종료한다.
    2)추상클래스의 예
    상속클래스와 같은 방법으로 사용한다. 서브클래스에서 extends를 사용하여 추상클래스를 
    서브클래스에서 받을수 있다.
    *서브클래스에서 추상클래스를 구현하지 않으면 컴파일 오류가 발생한다.
    3)인터페이스 : 추상클래스로 구성된 객체. 극단적인 추상클래스
    인터페이스에서는 필드선언불가, 인스턴트 생성 불가하다.
    4)인터페이스 선언예 :
    *접근지정자 interface 인터페이스명 {
        반환형 추상클래스1(...)
        반환형 추상클래스2(...)
    }
    5)인터페이스 사용예 :
    *접근지정자 class 클래스명 implements 인터페이스명 {
        반환형 추상클래스1(...){              }
        반환형 추상클래스2(...){              }
        인터페이스 사용시 추상메소드의 몸체를 구현해야 한다.
    }
    6)인터페이스의 필요성?
    여러종류의 가전제품을 사용하기 위해서는 홈네트워크 서버 사이에 제어가능한 표준규격이
    필요한데, 이 때 그 규약을 Interface로 작성한다.


    7)다형성
    객체의 타입이 다르면 똑같은 메시지가 전달되어도 서로 다른 동작을 취할수 있다. 
    같은 명령을 내려도 객체의 타입이 다르면 서로 다른 결과를 얻을 수 있다.
        상향형변환 : 보통 서브클래스 ->슈퍼클래스 순으로 인식되는데 
        상향형변환은 슈퍼클래스 객체가 있는곳을 서브클래스 객체로 대치할수 있다.
        이를 상향형 변환이라 한다. 한마디로 상속을 거슬러 오르는 느낌이다.
            그 러 나! 서브클래스의 모든필드/메소드를 사용하는것을 불가능하며, 가져간 부분만 사용 가능하다.


        하향형변환 :서브클래스 참조변수로 수퍼클래스 객체를 참조. 상속과 같다.
        instanceof : A instance of B는 객체 A가 타입 B이면 true dkslaus false를 반환한다
    8)다형성의 예
    ex) Shape s = new Circle();에서 s.draw()의 값을 shape가 아니고 Circle()의 draw()가 불러와진다.


    9)내부클래스
    클래스 안에 다른 클래스를 정의. 필드, 메소드와 마찬가지로 클래스의 멤버로서 사용된다.
    *내부클래스는 클래스의 모든 멤버를 사용가능하다. 보통 내부클래스는 private로 정의한다. 
    이때 private적용시 클래스 내부에서만 사용가능하다.


    10)무명클래스
    클래스 몸체는 정의되지만 이름이 없는 클래스이다. 이름이 없기 때문에 한번만 사용가능하다.
        클래스 구성방법 : new 상속받을 슈퍼클래스이름/인터페이스 이름 {}
        클래스 구성 예 : RemoteControl이라는 인터페이스를 받는 무명클래스
                                RemoteControl rc = new RemoteControl() { 무명클래스 내용 }

'자료실 > Java' 카테고리의 다른 글

Java Tip-1  (0) 2018.05.31
Basic Java(기본 6)  (0) 2018.05.31
Basic Java(기본 4)  (0) 2018.05.31
Basic java(기본 3)  (0) 2018.05.31
Basic java(기본 2)  (0) 2018.05.31

댓글