본문 바로가기

자바27

자바를 자바 15(Generic Programming) Raw Type의 슈퍼 클래스는 Raw Type이다. 상속 받지 않은 Raw Type의 생성자, 인스턴스 메서드, 인스턴스 필드는 Raw Type이다. Generic Classes: Cases generic class는 non-generic class를 상속받을 수 있다. class Shape { } //Raw Type class FruitBox extends Shape { } //Generic Type generic class는 generic class으로 부터 상속 받을 수 있다. class Box { ArrayList list = new ArrayList(); void add(T item) { list.add(item); } T get(int i) { return list.get(i); } int .. 2020. 11. 16.
자바를 자바 14(Generic Programming) Generic Programming Generic Programming: 여러가지 타입의 객체를 같은 코드로 만들고자 하는 테크닉 동일한 류의 코드는 한 번만 사용하기 위해서 하는 프로그램 테크닉 예를 들어 다음과 같은 코드 두개가 있다고 가정해 보자 class BoxA { A item; void setItem(A item) { this.item = item; } A getItem() { return item; } } class BoxB { B item; void setItem(B item) { this.item = item; } B getItem() { return item; } } BoxA 와 BoxB는 같은 역활을 수행하지만 클래스명이 다른 이유로 다른 타입의 객체를 다루게 된 상태이다. 그런데 우.. 2020. 11. 16.
자바를 자바 13(Exception Handling) Errors in Programs 자바에서 발생할 수 있는 에러들 Compile-time error 컴파일이 만들어 내는 에러로 object files를 생성 못함 Syntax error Run-tume error 컴파일이 에러나 object files 생성에 문제는 없음 하지만 프로그램은 실행불가능 Logical error 에러없이 프로그램이 작동함, 하지만 우리가 원했던 결과가 나오지 않음 Run-time error Run-time error은 errors와 exceptions으로 분류된다. Error 프로그램이 더 이상 진행을 할 수 없는 상태 ex> out of memory, stack overflow Exceptions 에러가 발생하였으나 해결할 방법이 존재하는 경우 ex> arithmetic .. 2020. 11. 16.
자바를 자바 과제02 problem 06 피보나치 클래스를 만들되 for과 while을 사용하지 말라는 재귀함수 문제이다. 요렇게 생긴 코드를 기본으로 활용하되, 여기에 추가적인 class를 정의하라는 것으로 보인다. 문제는 dp를 사용할 수 없고 InSequence는 interface로 보이기 때문에 구현을 두가지를 해주어야 한다. 나머지는 점화식에 맞추어서 변수를 저장하고 출력하는 과정을 반복하면 쉽게 문제를 풀 수 있다. interface IntSequence{ boolean hasNext(); int next(); } class FibonacciSequence implements IntSequence{ private int n; private int pn; private int ppn; public FibonacciS.. 2020. 11. 16.