Java 코드연습/추상 클래스. 메소드 3

[뉴렉처] 추상 메소드(Abstract Method) 구현하기

공통되는 기능인 move()는 공통적으로 바로 사용 가능하지만 paint()의 경우엔 각각의 개체에서 재정의한 후 사용 가능하다. 추상메소드(뼈대)를 부모클래스에 올려놓고 자식클래스에서 오버라이드함(재정의) total(), avg()는 구현으로는 자체가(안의 코드가) 공통은 아니지만 서비스(자료형)는 공통이다. 추상메소드를 선언하면 추상메소드를 가져다 쓰는 자식들은 반드시 추상메소드를 구현해야한다. 지금 모두 같은 패키지이름이지만 프로젝트는 다름 package Exam_1.추상화; import java.util.Scanner; public abstract class Exam_1 { public static void main(String[] args) { ExamConsole list = new ExamC..

[뉴렉처] 추상 클래스 만들기 추상화

https://www.youtube.com/watch?v=Y0okhvvl29U&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=23 뉴렉처님 동영상 강의 abstract한 클래스는 객체화 할 수 없도록 설정이 되어있다. 기존에 만들었던 Exam_UI.jar에 Exam클래스에 abstract라고 코드에 변화를 줘야하는데 Exam_UI.jar이 파일은 따로 재수정이 안되고 삭제한 후에 다시 재사용하기 위한 과정을 거쳐야 한다. 이렇게하면 과정이 복잡하고 번거로울 수 있다. (바꿀때 마다 배포하고 포함시키고 하는 과정을 반복해야함) 여기서 프로젝트를 선택하면 마치 라이브러리를 배포한것처럼 참고해서 사용할 수 있다. test에 있던 모든 패키지들을 쓸 수 있게됨 추상화 설정 a..

[뉴렉처] 코드 집중화와 추상화

처음에 코드를 만들때 복사 붙여넣기 한 후에 방정리를 하듯 코드 정제를 해야함, 집중화, 구조화, 캡슐화 -> 고도화, 리팩토링이라고도함 세단이든 스포츠카든 승합차든 다 공동된 자동차로써의 기능을 한다. 자동차의 기능을 따로 모아두고 상속시킴 Shape이라는 추상클래스가 있으면 Shape의 배열에 자식객체들을 담아서 자식객체들의 메소드나 변수를 사용할 수 있다. 예를들어 성적관리 프로그램을 여러곳에 판매 할때 하나씩 Exam을 가지고 만들다보면 Exam의 기능들이 공통분모화 됨혹은 솔루션 자체를 판매할때 필요하다. 구매한쪽에서 Exam을 상속받아 필요한 만큼 수정하여 사용할 수 있게끔 하려면 Exam을 추상클래스로 바꿔줘야함