2011. 10. 28 Choi Younghwan choiyh@hufs.ac.kr CSE HUFS 소프트웨어 설계 9주차 2011. 10. 28 Choi Younghwan choiyh@hufs.ac.kr CSE HUFS
다형성 추상 클래스 추상 메서드 다형성에 따르는 대가 인터페이스 실습 API Download
오늘 실습할 예제 UML
다형성 객체가 다양한 형태를 가질 수 있음 상위(부모)클래스의 레퍼런스 변수에 하위 객체를 넣을 수 있다.
추상 클래스 인스턴스를 만들 수 없는 클래스 abstract 키워드 사용 레퍼런스 변수로는 사용 가능 반드시 확장해야 하는 클래스 메소드와 추상 메소드를 함께 가질 수 있다.
추상 메소드 구현이 되어 있지 않은 메소드 abstract 키워드 사용 구현부가 없이 선언만 있다. 추상 메소드를 만들 때는 클래스를 반드시 추상 클래스로 만들어야 한다. 반드시 오버라이드 해야하는 메소드 추상 메소드를 구현한 것을 구상 메소드라 한다. Animal Dog
예제 UML Abstract
다형성에 따르는 대가 객체의 형태를 바꾸는데 대가가 따른다. 이전 형태를 기억하지 못함 하위 클래스에서 구현한 메소드를 호출 할 수 없다. 단, 메소드가 오버라이드 된 경우 하위 클래스의 메소드가 호출된다.
다형성에 따르는 대가 강제 형변환 실제 객체형 알아내기 instanceof 연산자
인터페이스 100% 순수한 추상 클래스와 유사 정의시 interface 키워드 사용 구현시 implements 키워드 사용 모든 메소드는 추상 메소드이다. 인터페이스 형의 레퍼런스 변수 생성 가능 여러 개의 인터페이스를 구현할 수 있다. 구현 클래스에서는 모든 메소드를 구현하여야 한다.
최종 예제 UML Abstract
실습 최종 예제 UML에 따라 구현 하시오. 다음장에 나오는 main 메소드에서 빈 부분과 잘못된 부분을 찾아 수정하시오.
main
main
API Download http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-doc-download-355137.html jdk-6u25-fcs-bin-b04-apidocs-04_Apr_2011.zip 파일 다운로드 압축해제 docs 폴더 밑에 api 폴더 밑에 index.html 열기
ArrayList API에서 ArrayList에 대한 정보를 찾아 보자. 우선 Package를 모르기 때문에 Package창의 제일 위에 있는 All Classes 선택 Class창에서 ArrayList를 선택