Object 클래스 (equals, hashCode, toString)
스프링 입문을 위한 자바 객체 지향의 원리와 이해 - 자바와 객체 지향 챕터
람다식 람다식이란? 메서드를 이름과 반환 값을 없애고 하나의 식으로 표현한 것으로 익명 함수의 종류이다. > 람다식 내에서 사용되는 지역변수는 final이 붙지 않아도 상수로 간주된다. 장점 간결해서 이해하기 쉽다. 객체 생성 없이 메서드 호출이 가능하다. 람다식
문자열(String)은 자바 프로그램이 실행되는 동안 가장 많이 생성되는 객체이다.문자열은 객체이지만 각각의 문자의 나열로 구성된다.문자열(String)은 자바 프로그램이 실행되는 동안 가장 많이 생성되는 객체이다.문자열은 객체이지만 각각의 문자의 시퀀스로 구성된다.S
정적 팩토리 메서드 클라이언트가 클래스의 인스턴스를 얻는 정통적인 수단은 public 생성자다. 다른 옵션으로 클래스와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. Boolean의 예시 정적 팩토리 메서드의 예시로 bool
정적 팩터리와 생성자에는 똑같은 제약이 있다. 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 점이다. 여런 선택 항목이 있더라도, 몇 개를 제외하고는 나머지를 설정하고 싶지 않을 수도 있다. 점층적 생성자 패턴(telescoping constructor patt
싱글턴 패턴 싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 의미한다. 무상태 객체나 설계상 유일해야 하는 시스템 컴포넌트에 적용할 수 있다. 단점 클래스를 싱글턴으로 만들면 이를 사용하는 클러이언트를 테스트하기가 어려워질 수 있다. 타입을 인터페이스로 정
싱글턴 싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 의미한다. 싱글턴의 예로는 함수롸 같은 무상태 객체나 설계상 유일해야 하는 시스템 컨포넌트를 들 수 있다. 하지만 클래스를 싱글턴으로 만들면 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있다. 타
사용하는 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글턴 방식이 적합하지 않다.위 두 방식은 어색하고 오류를 내기 쉬우며 멀티스레드 환경에서 쓸 수 없다. 사용하는 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글턴 방식이 적합하
다음은 정규표현식을 활용한 검증 로직이다.이 방식의 문제는 String.matches 메서드를 사용한다는 것이다. String.matches는 정규표현식으로 문자열 형태를 확인하는 쉬운 방법이지만, 성능이 중요한 상황에서 반복해 사용하기에 적합하지 않다. Pattern
자바에서는 GC를 통해 메모리 관리에 유연해진다.아래 코드는 별 문제가 없어 보인다.하지만 스택을 사용하는 프로그램을 오래 실행하다보면 점차 GC 활동과 메모리 사용량이 늘어나 성능이 저하될 것이다. 상대적으로 드문 경우긴 하지만 디스크 페이징이나 OOM을 일으켜 프로
8. finalizer와 cleaner 사용을 피해라.
자바 라이브러리에는 close 메서드를 호출해 직접 닫아줘야 하는 자원이 많다. InputStream, OutputStream
JCF (Java Collection Framework)