본문 바로가기
TIL

내일배움캠프 8주차 Java Class, 예외처리

by 율량동박씨 2024. 6. 4.

오늘의 키워드

  • Java의 여러 class
  • 예외처리

오늘의 내용

  • Java.util 클래스
    • 유틸리티 클래스들을 제공하는 패키지
    • 다양한 표준 프로그래밍 자료 구조체를 지원하는 클래스를 지원한다
  • Vector 클래스
    • 객체의 배열로써 구성되는 확장 가능한 배열이다
    • 동적으로 크기가 변하는 배열이 되어 객체의 수를 미리 정할 수 없을 때 사용가능하다
    • 데이터를 저장할 기억 장소가 일정하지 않는 경우 주로 사용하며 일정한 기억 장소가 차게 되면 다시 일정크기만큼 기억장소를 확보해 여러 가지의 데이터형을 기억시킬 수 있다
    • public Vector( ) 로 클래스를 생성한다
  • Random 클래스
    • 임의의 난수를 발생시키는 객체이다
    • seed에 따라 일정한 수치를 발생시키는 함수를 가지고 있어 내부적으로 seed를 바꾸어 준다
    • public Random(int value) : 인수 value값으로 난수를 발생시킨다
  • StrtingTokenizer 클래스
    • 문자열을 토큰의 집합으로 분리하는 것으로 토큰은 별도의 구분 문자로서 분리되는 문자열을 의미한다
    • 객체는 분리할 문자열과 구분 문자, 그리고 반환하는 토큰에 구분 문자도 포함시킬 것인지를 지정하는 플래그 등 세 가지 인수를 가지고 생성된다
    • Enumeration 인터페이스를 이용해 Enumeration 객체를 가지는 메서드에 StrtingTokenizer의 객체를 넘겨주어 토큰들을 하나나하나 열거할 수 있다
    • public StrtingTokenizer(String str) : 문자열 인수를 기본적인 구분자 ("\t\n\r)만을 이용해 토큰을 구별한다
    • public StrtingTokenizer(String str, String delimiter) : 문자열을 delimiter를 이용해 토큰을 구별한다
    • public StrtingTokenizer(String str, String delimiter, boolean returnToken) : 문자열 인수를 delimiter를 이용해 토큰을 구별하서 nextToken( ) 메서드에서 토큰을 반환할 것인지의 여부를 알아본다
  • 예외처리
    • 예외적 오류를 프로그램의 검증된 예외로 정상적인 처리를 하기 위해 예외처리를 한다
    • 컴파일러가 실행 시 발생할 수 있는 대부분의 오류를 찾아내지만 프로그램이 실행하는 동안 오류가 발생해 더이상 진행할 수 없을 경우를 예외 상황이라고 한다
    • 예외의 종류와 특징
    • Error
      • java.lang.Error 클래스의 서브 클래스이다
      • 시스템에 뭔가 비정상적인 상황이 발생했을 경우 사용된다
      • 주로 JVM에서 발생시키는 것이고 프로그램에서는 잡을 수 없다
    • Exception과 체크 예외
      • 체크 예외가 발생할 수 있는 메서드를 사용할 경우 반드시 예외처리를 하는데 catch문을 사용하던가 throws를 정의해야 컴파일 에러가 발생하지 않는다
      • 체크 예외 : Exception 클래스의 서브 클래스이면서 RuntimeException 클래스를 상속하지 않은 것들을 말한다
      • 언체크 예외 : RuntimeException을 상속한 클래스
        • 명시적인 예외처리를 강제하지 않아 catch문이나 throws로 선언하지 않아도 된다. 주로 프로그램의 오류가 있을 때 발생하도록 의도돼있어서 미리 조건을 체크해 주의 깊게 만들면 예외를 피할 수 있다
    • Try-catch-finally 문장
      • 예외가 나올 수 있는 부분을 try{}로 묶고 발생 가능한 예외 상황을 catch를 이용해 사용자가 확인할 수 있도록 한다
      • catch의 매개 변수로는 Exceptrion 클래스 변수를 넣는데 여기에 발생한 에러의 정보가 들어간다
      • try문
        • 예외가 발생할 가능성이 있는 문을 지정한다.
        • NullPointException, OutofMemoryException,...등
      • catch문
        • 각자가 붙잡고 싶은 예외의 종류를 지정한다
        • catch문장은 복수로 정의가 가능하다
      • finally 문
        • 필수적인 부분은 아니다 finally를 사용하면 catch에서 예외가 발생하든 않든 간에 finally문이 실행된다
        • catch문이 실행되면 catch문 다음에 실행된다
        • finally문이 실행되지 않는 경우는 exit( ) 문이 try나 catch문에 있을 경우이다.
    • throws
      • 어떤 메서드에서 호출할 경우 예외를 발생하기 위한 메서드를 throws 키워드를 사용한다
      • throws문은 발생한 exception을 자신을 호출한 다른 메서드나 jvm에게 예외처리를 넘길 때 사용하고 키워드로서 호출을 한 메서드에서도 exception에 대한 처리를 지정해야 한다

오늘의 회고

  • 팀프로젝트로 뉴스 피드 프로젝트가 시작되었다. 팀원들과 의견 조율이 잘되어서 다른 조보다 회의가 빨리 진행되어 프로젝트를 빨리 시작할 수 있었고 필수적으로 구현하는 기능들은 어느 정도 구현이 되어 이번 주 중으로 추가 구현단계에 들어갈 것 같다. 하지만 팀프로젝트를 진행하면서 개인 공부를 진행이 가능할지는 아직 미지수다