Study

[방송통신대] Java 프로그래밍 중간 과제

cattaku 2020. 4. 10. 14:27

1. 이름이 Test인 퍼블릭 클래스를 정의한다.
   첫 줄에 자신의 학번을 출력하고 다음 줄에 이름을 출력하도록 main() 함수를 정의하여 Test 클래스에 포함시킨다.
   이클립스를 사용하여 클래스를 작성하고 실행시킨다.
   클래스 정의와 출력 결과를 확인할 수 있는 1개 그림을 캡처하여 과제물 파일에 포함시키시오.

public class Test {
    public static void main(String[] args) {
        String studentNum = "20XXXX-36XXXX";
        String studentName = "캣덕후";
        
        System.out.println("학번 : " + studentNum);
        System.out.println("이름 : " + studentName);
    }
}

2. 아래 예외처리 코드에 문제가 있는지/없는지 밝히시오.
   문제가 있다면 이 유를 200자 이내(공백 포함)로 설명하시오. (중괄호 블록 안에는 적당한 명령이 있다고 가정한다.)

try {    
    }catch(Exception ex) {   
    }catch(ArithmeticException ex) {   
}

- Exception 클래스의 모든 예외의 최고 상위 클래스이기 때문에 Exception클래스부터 실행할 경우 첫번째 catch블럭에서 모든 예외가 처리되고 두번째 catch블럭은 실행되지 않는다. 첫번째 catch블럭에 ArithmeticException부터 처리한 후에 두번째 catch블럭에서 그 외 예외를 처리 할수 있도록 실행시키는 것이 좋은 예이다.

3. 자바 API 문서에서 Comparable 인터페이스를 찾아보고, Comparable를 구현하는 클래스를 정의할 때 어떤 메소드를 구현해야 하는지 쓰시오.

- Comparable Comparator 는 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있으며, Comparable을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들, 주로 Integer와 같은 wrapper클래스와 String, Date, File과 같은 것들이며 기본적으로 오름차순으로 정렬되도록 구현되어 있다.
그래서 Comparable을 구현한 클래스는 정렬이 가능하다는 것을 의미한다.

Comparable 은 객체 간의 일반적인 정렬이 필요할 때, Comparable 인터페이스를 확장해서 정렬의 기준을 정의하는 compareTo() 메서드를 구현한다.
compareTo()
메서드는 두개의 값을 비교하여 int값으로 반환한다. 비교하는 두 객체가 같으면 0, 비교하는 값보다 작으면 음수, 크면 양수를 반환하도록 구현해야 한다
Comparator 
은 객체 간의 특정한 정렬이 필요할 때, Comparator 인터페이스를 확장해서 특정 기준을 정의하는 compare() 메서드를 구현한다.