추가 문제 전까지는 어제랑 코드가 같다.
다만 패키지를 다르게 해주었기 때문에
다른 패키지의 클래스를 사용하려면 import를 해주어야 한다.
출력부분이 어제 수정되었다.
이 예제에서의 추가문제!!
원하는 카테고리를 입력하여 그 카테고리에 해당하는 뉴스만 모아서 html 생성
콘솔로부터 입력을 받기위해서 Scanner클래스를 사용.
"전체"를 입력받으면 기존에 있던 메소드를 사용하고
그게 아니라면 입력값에 해당 되는 정보를 가져다준다.
입력값과 파일의 경로 둘 다 받는 메소드를 추가
DataClass.news.clear(); => ArrayList.clear메소드를 사용하여 기존 값을 초기화 해준다. ( 사진에는 빠져있다.)
초기화를 하지 않으면 기존 데이터 위에 계속 데이터가 추가되서 쌓이기 때문에 데이터 크기가 계속 증가하게된다.
상속,구현, 추상 클래스 실습
상속(extends) => 주로 객체와 관련
객체 : 변수, 메소드, 상수
메소드 : 재정의는 선택(자식클래스가 재정의 하고싶으면 한다.)
상속은 한번(단일 상속)만 가능하다.
구현(implements) => 주로 기능에 관련
기능 : 메소드
메소드 : 강제 재정의 ( 재정의를 하지 않으면 컴파일에러)
강제 재정의(@Override)
@ : annotation // Override : 부모의 메소드를 재정의
오버라이딩는 반드시 상속이 선행조건
오버라이딩 된 메소드의 선언부는 수정이 불가능
구현은 한번에 여러 인터페이스를 구현받을 수 있다.
추상클래스(abstract) : 일반 클래스의 기능 + interface 두가지의 성격을 하나로 묶어놓은 클래스
내부에 변수,메소드,상수,생성자,추상 메소드 선언이 가능하다.
마찬가지로 추상메소드도 재정의를 해줘야 사용가능
단, 생성자는 선언할 수 있지만 일반클래스처럼 new를 이용하여 객체는 생성하지못한다.
=> 생성자는 상속할 때 객체가 만들어져야 하기 때문에 존재(오로지 상속에만 사용가능)
추상클래스는 단독으로 사용하지 못하고, 일반클래스의 부모로만 사용된다.( 즉 상속만 가능!!)
'Learn > KH정보교육원' 카테고리의 다른 글
[KH정보교육원 당산] 13일차 (예제 마무리 및 배운거를 토대로 시험.. ) (0) | 2021.03.26 |
---|---|
[KH정보교육원 당산] 12일차 (외부 라이브러리 사용 - 엑셀파일 만들기, 설계도 구성 연습) (0) | 2021.03.25 |
[KH정보교육원 당산] 10일차 ( 상속예제 ) (0) | 2021.03.23 |
[KH정보교육원 당산] 9일차 ( interface 및 첫번째 테스트) (0) | 2021.03.22 |
[KH정보교육원 당산] 연습 문제1 (프로그래밍 언어 활용) (0) | 2021.03.21 |