Object 클래스 자바의 여러 클래스들에 대해 알아볼것이다. JDK 에서 제공하는 많은 라이브러리가 있는데 다 볼수없지만 프로그램 할 때 중요하게 쓰이거나 활용도가 높은 클래스들 위주로 볼것이다. 기본클래스 이기도 하고 많이 쓰는 클래스 이다. 제네릭 프로그램 , 컬렉션 프레임워크 등 자바 JDK랑 관련된 자바 프로그램을 좀더 유연하게 사용할수있다. Object 클래스 모든 클래스의 최상위 클래스 Java.lang.Object 클래스에 속한다. 모든 클래스는 Object 클래스에서 상속받음 모든 클래스는 Object 클래스의 메소드를 사용할수 있다 모든 클래스는 Object 클래스의 일부 메소드를 재정의 하여 사용할수 있다 모든 클래스는 extends Object 하게 되어있다 컴파일러가 Object ..
분류 전체보기
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..
인터페이스 Queue 에다가 메소드를 명세해 놓는다. package scheduler2; public interface Queue { void enQueue(String title); String deQueue(); int getSize(); void info(); } Shelf 클래스에 구현해 놓는다. package scheduler2; import java.util.ArrayList; public class Shelf { protected ArrayList shelf; public Shelf() { shelf = new ArrayList(); } public ArrayList getShelf() { return shelf; } public int getCount() { return shelf.size..
인터페이스의 요소들 ( 명세 , 설계도) 상수 : 선언된 모든 변수는 상수로 처리된다. 메소드 : 모든 메소드는 추상 메소드 이다. 디폴트 메소드 : 기본 구현을 가지는 메소드 구현하는 클래스에서 재정의 할수 있다.(java 8) 정적 메소드 : 인스턴스 생성과 상관없이 인터페이스 타입으로 호출하는 메소드(java 8) private 메소드 : 인터페이스 내에서 사용하기 위해 구현한 메소드 구현하는 클래스에서 재정의 할수 없다. 여러 개의 인터페이스 구현하기 인터페이스는 구현 코드가 없으므로 하나의 클래스가 인터페이스를 구현 할수 있다 디폴트 메소드의 이름이 중복되는 경우 재정의 한다. extends 키워드 뒤에 오는건 하나이다. Implements 뒤에 100개가 와도 상관이 없다. 인터페이스 상속 인..
인터페이스의 역할 은 ? 인터페이스는 클라이언트 프로그램에 어떤 메소드를 제공하는지 알려주는 명세 또는 약속 이다. 한 객체가 어떤 인터페이스의 타입이라 함은 그 인터페이스의 메소드를 구현했다는 의미이다. 클라이언트 프로그램은 실제 구현내용을 몰라서 인터페이스의 정의만 알면 그 객체를 사용할수있다 인터페이스를 구현해 놓은 다양한 객체를 사용한다 – 다형성 : JDBC 를 구현한 오라클, MSSQL 라이브러리 등이 있다. 라운드로빈 방식 차례대로 짧은 상담원 에게 배분한다던가 대기열이 긴다 해도 숙련도가 높은 상담원 등 우선 배분할수있는 정책들 배분을 하기위한 기능은 이미 정해져있을것이다. 스케쥴링에는 대기열에서 가져오는 getNextCall() 과 상담원의 전화를 가져오는 상담원 sendCallToAge..
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() { ..