Java 코드연습/팩토리 메소드 3

[뉴렉처] 이벤트 메소드 구현하기(팩토리 메소드 구현하기 이어서)

https://www.youtube.com/watch?v=WEm6Bhc3vOc&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=28 동영상 강의 전체를 다시 오버라이드 하기에는 오버니까 아래처럼 해야함 추상메소드를 통해 새로 추가되는 부분만 자식에게 오버라이드 맡기고 부모는 기존에 가지고 있는 국어, 영어, 수학 부분만 책임지게함 package Exam_1.추상화; import java.util.Scanner; public abstract class ExamConsole { private ExamList list = new ExamList(); void input() { //앞에 private 있으면 호출 안됨 다른 클래스에서 못씀 Scanner scan = new Sc..

[뉴렉처] 팩토리 메소드 구현하기

지금 현재 Exam이 추상클래스로 되어있기 때문에 ExamConsole에서 Exam을 객체로 생성하여 활용하는곳에서 오류가 발생하고 있다. 추상메소드를 가지려면 그 울타리인 클래스도 추상클래스로 변경해야함 package Exam_1.추상화; import java.util.Scanner; public abstract class ExamConsole { private ExamList list = new ExamList(); void input() { //앞에 private 있으면 호출 안됨 다른 클래스에서 못씀 Scanner scan = new Scanner(System.in); System.out.println("--------------------"); System.out.println("성적입력"); ..

[뉴렉처] 팩토리 메소드(Factory Method)

(input에서 성적을 입력받아야함) Exam이 추상메소드가 되었기 때문에 Exam을 객체 생성해서 사용하던 ExamConsole은 Exam을 객체 생성할 수 없어지기때문에 문제가 발생한다. ExamConsole 클래스도 추상클래스로 변경하고 안에는 Exam의 자료를 활용할 수 있도록 makeExam 추상클래스를 protected로 만든다. NewlecExamConsole이 ExamConsole 추상클래스를 상속받고 그안의 추상메소드 makeExam()을 오버라이드 한다. input 메소드안의 오류를 해결함 메인프로그램은 ExamConsole이 아닌 NewlecExamConsole을 통해서 실행 NewlecExamConsole 클래스처럼 메소드를 생성하는 구조를 팩토리메소드라고 한다.