책/Java의 정석

Optional은 “T타입의 객체”를 감사는 래퍼 클래스 그래서 Optional타입의 객체는 모든 타입의 객체를 담을 수 있다. java.util.Optional은 JDK1.8부터 추가되었다. public final class Optional { private final T value; //T타입의 참조변수 ... } 최종 연산의 결과를 그냥 반환하지 않고 Optional객체에 담아서 반환을 하면 반환된 결과가 null인지 매번 if문으로 체크하는 대신 Optional에 정의된 메서드를 통해서 간단히 처리할 수 있다. Optional를 이용하면, null 체크를 위한 if문 없이도 NullPointerException이 발생하지 않는 보다 간결하고 안전한 코드를 작성하는 것이 가능하다. Optional ..
래퍼(wrapper)클래스 객체지향 개념에서 모든 것은 객체로 다루어져야 한다. Java에서는 8개의 기본형을 객체로 다루지 않는다. (완전한 객체지향 언어가 아니라는 얘기를 듣는 이유) 그 대신 보다 높은 성능을 얻을 수 있다. 기본형 변수도 어쩔 수 없이 객체로 다뤄야 할 경우? 매개변수로 객체를 요구할 때 기본형 값이 아닌 객체로 저장해야할 때 객체간의 비교가 필요할 때 등등~~_~~ 기본형 값들을 객체로 변환하기 위해서는 래퍼(wrapper)클래스를 사용해야 한다. 래퍼 클래스들은 객체생성 시에 생성자의 인자로 주어진 각 자료형에 알맞은 값을 내부적으로 저장하고 있다. 기본형 래퍼클래스 생성자 boolean Boolean Boolean(boolean value) Boolean(String s) c..
Object클래스의 멤버들은 모든 클래스에서 바로 사용이 가능하다. -해쉬함수 정리해서 링크달기- 모든 클래스의 부모!!!!!!! Object클래스의 메서드 설명 protected Object clone() 객체 자신의 복사본을 반환한다. public boolean equals(Object obj) 객체 자신과 객체 obj가 같은 객체인지 알려준다. (같으면 true) protected void finalize() 객체가 소멸할 때 가비지 컬렉터에 의해 자동적으로 호출된다. 이 때 수행되어야 하는 코드가 있을 때 오버라이딩한다. (거의 사용안함) public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class인스턴스를 반환한다. public int hashCode() 객체 자신..
(클래스로더 공부해서 좀 더 추가하기) C언어에서는 문자열을 char형의 배열로 다루었으나 Java에서는 문자열을 위한 String클래스를 제공한다. String클래스는 문자열을 저장하고 이를 다루는데 필요한 메서드도 함께 제공 변경 불가능한(immutable) 클래스이다. 변경이 불가능한 클래스로 자바에서 불변 클래스의 종류로는 대표적으로 String, Boolean, Integer, Float, Long 등이 있다. String클래스에는 문자열을 저장하기 위해서 문자형 배열 참조변수(byte[]) value를 인스턴스 변수로 정의해놓고 있다. public final class String implements java.io.Serializable, Comparable, CharSequence { @St..
finally블럭 예외의 발생여부 상관없이 실행해야할 코드를 포함시킬 목적으로 사용된다. try-catch문의 끝에 선택적으로 덧 붙여 사용할 수 있다. try-catch-finally의 순서로 구성된다. try { //예외가 발생할 가능성이 있는 문장 } catch (발생할거같은 Exception클래스 e1(예외 인스턴스를 가르키는 참조변수){ //예외처리를 위한 문장 } finally { //예외의 발생여부에 관계없이 항상 수행되어야하는 문장들을 넣는다. //finally블럭은 try-catch문의 맨 마직막에 위치해야 한다. } 예외가 발생한 경우 ‘try → catch → finally’의 순으로 실행된다. 예외가 발생하지 않은 경우 ‘try → finally’의 순으로 실행된다. try { in..
uhanuu
'책/Java의 정석' 카테고리의 글 목록