TIL #15-2

DuBu·2023년 6월 28일
0

일본IT JAVA 연수과정

목록 보기
26/61
post-thumbnail

@Annotation

  • Annotation은 기본적으로 일정한 기능을 가진 함수이다.

  • Annotation 종류

    • @Override: 메소드가 부모 클래스나 인터페이스에서 오버라이드된 메소드임을 나타냅니다. 만약 해당 메소드가 부모 클래스나 인터페이스에 존재하지 않는다면, 컴파일러는 오류를 발생시킵니다.

    • @Deprecated: 메소드, 클래스 또는 필드가 더 이상 권장되지 않는 것을 나타냅니다. 이 어노테이션을 사용하면 컴파일러는 사용 시 경고를 표시합니다.

    • @SuppressWarnings: 특정 경고 메시지를 억제하도록 컴파일러에게 지시합니다. 예를 들어, "@SuppressWarnings("unchecked")"는 "타입 안전성 경고"를 억제합니다.

    • @FunctionalInterface: 함수형 인터페이스임을 나타냅니다. 이 어노테이션이 지정된 인터페이스는 하나의 추상 메소드만을 가질 수 있습니다.

    • @SafeVarargs: 제네릭 가변 인수(varargs) 메소드에서 경고를 억제합니다. 이 어노테이션을 사용하면, 해당 메소드가 타입 안전하다고 가정하는 경고를 억제할 수 있습니다.

    • @SuppressWarnings("serial"): 직렬화(serialization)할 때 발생하는 "불필요한 직렬화 경고"를 억제합니다.

아래를 프로그래밍 하시오.

Person kim = new Person("홍길동",35);
Person park = new Person(new String("홍길동"),35);
Person heo = new Person("홍길동",34);
	
if(kim.equals(heo))
	System.out.println("같은 사람입니다.");
else
	System.out.println("다른 사람입니다.");
class Person {
	private String name;
	private int age;

	public Person() {
	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public boolean equals(Object obj) {
		Person person = (Person) obj;
		if (name.equals(person.name) && (age == person.age)) {
			return true;
		}
		return false;
	}
}

try catch finally 에 대하여 설명하시오.

  • try-catch-finally는 예외 처리를 위해 사용되는 구문입니다. try 블록은 예외가 발생할 수 있는 코드를 포함하고 있습니다. catch 블록은 예외가 발생했을 때 해당 예외를 처리하는 블록입니다. finally 블록은 예외 발생 여부와 상관없이 항상 실행되는 블록입니다.

  • example

try {
    // 예외가 발생할 수 있는 코드
    int a = 10;
    int b = 0;
    int result = a / b;
    System.out.println("결과: " + result);
} catch (ArithmeticException e) {
    // ArithmeticException 예외가 발생했을 때 실행되는 코드
    System.out.println("0으로 나눌 수 없습니다.");
} finally {
    // 예외 발생 여부와 상관없이 항상 실행되는 코드
    System.out.println("finally 블록이 실행되었습니다.");
}

0개의 댓글