자바(3)
-
자바의 생성자와 정적 팩토리 메서드
생성자 일반적으로 클래스는 인스턴스 필드와 생성자를 갖는다. row와 column으로 이루어진 Position 클래스는 아래와 같이 표현할 수 있다. public class Position { private final int row; private final int column; public Position(int row, int column) { this.row = row; this.column = column; } } 만약 파라미터로 Int 뿐만 아니라 String도 받게 하고 싶다면 아래와 같이 코드를 추가할 수 있다. public class Position { private final int row; private final int column; public Position(int row, int..
2020.04.20 -
자바의 Enum
처음 자바의 Enum을 알고 난 뒤, 여기저기 유용하게 사용했다. Enum은 기본적으로 상수의 그룹을 나타낼 때 사용하는데, 자바의 Enum은 다른 언어의 Enum보다 강력한 기능을 여럿 제공한다. 이번 포스팅에서는 Enum을 활용하는 여러 방법에 대해 알아보려고 한다. 선언과 사용 public enum Rank { FIRST_PLACE(6), SECOND_PLACE(5), NONE(-1); private int matchingCount; Rank(int matchingCount) { this.matchingCount = matchingCount; } }이 때, Rank는 Enum 타입이 되고 FIRST_PLACE, NONE 등은 Enum 상수가 된다. 각 상수들은 일반 클래스와 동일하게 필드를 가질 수..
2020.04.18 -
자바의 예외처리
에러(Error) vs 예외(Exception) 자바에서 에러는 정상적인 프로그램이 잡아낼 수 없는 치명적인 문제를 뜻한다. 즉, 에러가 발생하면 복구가 불가능하고 프로그램은 비정상적으로 종료된다. 대부분 runtime 중에 일어난다. 흔히 볼 수 있는 에러로 StackOverFlowError가 있다. 반면 예외는 정상적인 프로그램이 잡아내길 원하는 조건을 뜻한다. 예외가 발생하면 프로그램이 종료될 수 있으나, 이는 try, catch, throw 등의 키워드로 복구가 가능하다. 모든 예외는 runtime 중에 일어난다. 에러와 예외는 모두 java.lang.Throwable 클래스의 자식 클래스이다. 예외 종류 - Checked vs Unchecked Unchecked Checked 예외처리 여부 명시..
2020.04.18