[TIL] 2021.12.31

Minsu Han·2021년 12월 31일
0

TODAY I LEARNED

목록 보기
7/46
post-thumbnail

오늘 한 일

  • JAVA 복습 (chap10. 예외처리, chap11. 기본 API 클래스 전반부)

배운 것

  • 예외(exception)는 일반 예외(컴파일러가 체크), 런타임 예외(개발자가 미리 예상해야 함)로 나뉜다.
  • try-catch문에서 catch할 예외 클래스는 하위 예외 클래스들부터 나열해야 한다. (가장 상위의 Exception 클래스를 마지막에 처리)
  • try-with-resources: Java 7부터 입출력스트림, 소켓 등의 리소스를 사용 종료 또는 예외 발생 시 자동으로 close시켜 줌. AutoClosable을 구현하는 클래스들에 한해 사용 가능.
  • 사용자 정의 예외, throws(caller에게 예외처리를 넘김)
  • Object 클래스의 객체 동등 비교 메소드 equals(), hashcode(). 필드 동등 여부로 객체 동등을 판단하려면 hashcode()도 구현하는 것이 좋다.
  • 얕은복제와 깊은복제 차이: 기본 타입 필드는 값을 복제한다는 점에서 같지만, 참조 타입 필드는 얕은복제의 경우 객체 주소값을 복제하고, 깊은복제의 경우 객체 자체 필드를 복사함(동일한 필드를 갖는 새 객체 생성). 깊은복제를 하려면 clone() 재정의 필요. 복제한 객체의 필드를 변경하였을 때 얕은복제는 원본 객체에도 변경내용이 반영되지만 깊은복제는 원본 객체가 변경되지 않는다.
  • 객체 소멸자 finalize()
profile
기록하기

0개의 댓글