package generic2; public class Plastic extends Material { public String toString() { return "플라스틱입니다"; } @Override public void doPrinting() { System.out.println("플라스틱으로 만듬 "); } } package generic2; public class Powder extends Material{ public String toString() { return "파우더 입니다."; } @Override public void doPrinting() { System.out.println("파우더로 만듬 "); } } package generic2; public class GenericPri..
JAVA Programming/JAVA 문제
package classex2; class Date { int month; int year; int day; public Date(int month, int year, int day) { this.month = month; this.year = year; this.day = day; } @Override public boolean equals(Object obj) { if(obj instanceof Date) { //(상위)부모객체가(하위)자식클래스 타입 이면 ? Date dtd = (Date)obj; // 다운캐스팅 if(this.month == dtd.month && this.day == dtd.day && this.year == dtd.year) { return true; } else return ..
Sort 인터페이스 생성 package schedulerex; public interface Sort { public void ascedning(int[] arr); // abstract 생략 public void descending(int[] arr); default void description() { // default 메소드 적어줘야 한다. System.out.println("숫자를 구현한 알고리즘 입니다."); } } 상속받아 구현한 BubbleSort 클래스 package schedulerex; public class BubbleSort implements Sort { @Override public void ascedning(int[] arr) { System.out.println("Bubbl..
인터페이스의 요소들 ( 명세 , 설계도) 상수 : 선언된 모든 변수는 상수로 처리된다. 메소드 : 모든 메소드는 추상 메소드 이다. 디폴트 메소드 : 기본 구현을 가지는 메소드 구현하는 클래스에서 재정의 할수 있다.(java 8) 정적 메소드 : 인스턴스 생성과 상관없이 인터페이스 타입으로 호출하는 메소드(java 8) private 메소드 : 인터페이스 내에서 사용하기 위해 구현한 메소드 구현하는 클래스에서 재정의 할수 없다. 여러 개의 인터페이스 구현하기 인터페이스는 구현 코드가 없으므로 하나의 클래스가 인터페이스를 구현 할수 있다 디폴트 메소드의 이름이 중복되는 경우 재정의 한다. extends 키워드 뒤에 오는건 하나이다. Implements 뒤에 100개가 와도 상관이 없다. 인터페이스 상속 인..
package cartest; public abstract class Car { public abstract void start(); public abstract void drive(); public abstract void stop(); public abstract void turnoff(); final public void run() { // 템플릿 메소드 start(); drive(); stop(); turnoff(); } } 추상메소드를 가지는 추상 클래스를 생성합니다. final 로 지정된 템플릿메소드 run() 를 생성합니다. - 로직순서를 구현 package cartest; public class Sonata extends Car { @Override public void start() { ..
Customer 클래스 package inheritance2; public class Customer { private int customerID; protected String customerName; protected String customerGrade; int bonusPoint; double bonusRatio; public Customer() { initCustomer(); } public Customer (int customerID , String customerName) { // 기본생성자에서 초기화 this.customerID = customerID; this.customerName = customerName; customerGrade = "SILVER"; bonusRatio = 0.01..