• 예외 (Exception) (3)

    예외 떠넘기기와 사용자 정의 예외 예외 떠넘기기 (throws 키워드) 메소드 내부에서 예외가 발행할 수 있는 코드를 작성할 때 try-catch 블록으로 예외를 처리하는 것이 기본이지만, 경우에 따라서는 메소드를 호출한 곳으로 예외를 떠넘길 수 있습니다. 이때 사용하는 키워드가 throws 입니다. throws 키워드는 메소드 선언부 끝에 작성되어 메소드에서 처리하지 않은 예외를 호출한 곳으로...


  • 예외 (Exception) (2)

    예외 처리 코드 프로그램에서 예외가 발생했을 경우, 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할수 있도록 처리하는 코드를 예외 처리 코드라고 합니다. 예외 처리 코드는 생성자 내부와 메소드 내부에 try-catch-finally 블록을 작성합니다. try 블록에는 예외 발생 가능 코드가 위치합니다. try 블록 코드가 예외 발생 없이 정상 실행되면, catch 블록의 코드는 실행되지...


  • 예외 (Exception)

    예외의 개념과 실행 예외 Java의 예외를 살펴보기 전에 런타임(Runtime)과 컴파일타임(Compiletime)의 차이점을 알 필요가 있습니다. 런타임과 컴파일타임에 대해 가장 쉽게 설명한 글이 있어 퍼왔습니다.(원문은 글 하단 링크 참고) 런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프로그램개발의 서로 다른 두 계층의 차이를 설명하기 위한 용어이다. 프로그램을 생성하기 위해 개발자는 첫째로 소스코드를 작성하고 컴파일이라는 과정을 통해 기계어코드로...


  • 제네릭 (Generic) (2)

    제네릭 사용 범위 1. 클래스(생성자), 인터페이스 타입을 파라미터로 가지는 클레스와 인터페이스를 제네릭 타입이라고 합니다. 클래스 또는 인터페이스 이름 뒤에 붙는 “<>” 사이에 T를 타입 파라미터라고 합니다. 클래스 레벨에서 제네릭이 설정되어있으면 static 메서드에서는 사용할 수 없습니다. (인스턴스가 만들어질 때 type parameter를 받아오기 때문입니다.) 2. 메서드 파라미터, 리턴 타입으로 사용합니다. static, instance 메소드에 사용할 수 있습니다.  (인스턴스 생성할 떄 type parameter를 받아와 타입이 설정되기 때문입니다.) 아래에서 구체적인 사용 방식을 살펴보겠습니다. 제네릭 사용 방식...


  • 제네릭 (Generic)

    코드블럭(class, interface, method) 내부에서 쓸 자료형을 외부에서 지정하는 기법을 제네릭 (Generic)이라고 합니다. 간단한 코드로 살펴보면, List<String> stringList = new ArrayList<>(); 이처럼 선언, 생성, 할당하면서 동시에 ArrayList 내부에 담을 타입을 지정하는 기법입니다. 반면에, 아래와 같이 아무 타입도 지정하지 않고 (자동으로 Object 타입로 지정) 여러가지 자료형을 허용하면,  두 가지 문제가 발생합니다. List...