본문 바로가기
  • soobinhand의 기술 블로그
728x90

자바39

[자바 프로그래밍 언어] 13장 문자열과 정규 표현식 13.1 문자 시퀀스 String 객체는 불변성을 가지고 있기 때문에 문자열이 변경될 수 있다면 StringBuilder 클래스를 사용해야 한다. public char charAt(int index) 현재 시퀀스에서 지정된 index에 있는 char를 반환한다. public CharSequence subSequence(int start, int end) start부터 end까지로 구성된 시퀀스의 char값을 포함하는 CharSequence를 새로 생성해서 반환한다. 13.2 String 클래스 문자열은 불변성을 가진 문자 시퀀스이다. 그래서 문자열은 생성된 이후에는 절대 변경할 수 없다. indexOf 메소드의 오버로드 메소드들은 문자열의 앞에서부터 검색을 시도하고 lastIndexOf 메소드의 오버로드.. 2022. 1. 2.
[자바 프로그래밍 언어] 12장 예외와 검증 12.1 예외 타입 생성하기 예외는 코드를 어지럽게 하지 않으면서도 오류를 깔끔하게 검사하는 방법을 제공한다. 또한 자바의 예외는 간접적으로 오류 발생 여부를 알아내는 필드를 검사하는 방법이 아닌 직접적으로 오류 발생을 알아내는 방법을 제공하고 있다. 예외는 예상하지 못한 오류가 발생했을 때 던져진다. 그리고 이 예외는 오류를 발생시킨 메소드를 감싸고 있는 예외 처리 코드에 의해 잡힌다. 만약 예외가 잡히지 않았다면 프로그램은 종료된다. 예외는 객체이며 모든 예외 타입은 Throwable 클래스나 이 클래스의 서브 클래스를 확장해야 한다. 자바의 예외는 대부분이 검증된 예외이다. 새로 작성하는 예외들을 검증된 예외로 만들기 위해서는 Exception을 확장해야만 한다. 이렇게 생성된 검증된 예외는 라이브.. 2021. 12. 31.
[자바 프로그래밍 언어] 11장 제네릭 타입 11.1 제네릭 타입 선언 포괄적인 참조로 Object를 사용하는 것은 위험하다. 특정 타입의 요소를 저장할 수 있는 클래스를 각각 만드는 것은 비효율적이며 중복된 코드를 산출하게 만든다. 어떤 종류의 객체라도 저장할 수 있으며 저장되는 타입에 따라 메소드의 반환 타입과 매개변수 타입이 정해지는 클래스를 작성하는 것이 좋다. 이것이 제네릭 타입이 만들어진 이유다. Cell클래스를 Cell 클래스로 다시 작성하였으며 E의 Cell이라고 읽는다. E는 Cell 객체를 저장할 수 있는 요소 타입을 나타낸다. Cell의 제네릭 버전에서 E는 이전 Cell에서 Object를 사용했던 곳에는 어디든지 사용할 수 있다. E는 타입 변수라고 하며, 요소의 약자이다. 편의상, 타입 변수들은 단일 문자 이름을 가진다. 요.. 2021. 12. 31.
[자바 프로그래밍 언어] 10장 흐름제어 10.1 문장과 블록 없음 10.2 if-else 없음 10.3 switch switch ( 표현식 ) { case n : statements case m : statements default : statements } 표현식은 정수 타입이나 enum 타입 중 하나여야 한다. switch 문의 몸체는 switch 블록이라 하며 case 라벨을 포함할 수 있다. case 라벨은 정수 또는 enum 상수이다. switch 표현식이 case 라벨의 값과 일치한다면 제어는 해당 라벨의 첫 번째 문장으로 이동하고 일치하는 case 라벨을 찾지 못한 경우에는 default 라벨의 첫 번째 문장으로 이동한다. default 라벨도 존재하지 않는다면 switch 문은 종료된다. break 문이 없다면 실행은 defau.. 2021. 12. 29.
728x90