
제네릭에 대해 배우다보니 공변, 반공변, 불공변에 대한 것에 알게 되었다. 제네릭에서 각각의 특징을 설명할때 나오는 단어였다. 그리고 오늘의 글은 이것에 대해 설명하는 글이다.공변이란 하위 타입의 객체를 상위 타입의 참조로 참조할 수 있는 성질을 말합니다. 그리고 대표

한 마디로 말하자면 코드 안정성을 높이기 위해 상한, 하한에 대한 개념을 배운다.항상 책이나 블로그 등에서 잘 만들어진 코드는 다음과 같다고 강조한다"필요한 만큼만 기능을 허용하며, 코드의 오류가 컴파일 과정에서 최대한 발견하도록 한다."그럼 위에 예제의 내용은 잘 만

클래스 안에 정의된 클래스를 가리켜 '네스티드 클래스(Nested Class)'라고 한다. 그리고 감싸는 클래스를 가리켜 '외부 클래스(Other Class)'라고 한다.클래스 내에 정의되어 있는 모든 클래스를 카리켜 '네스티드 클래스'라고 한다. 하지만 static

hashCode()메소드란 자바에서 객체의 고유한 정수 값을 반환하는 것입니다.객체의 내부 상태값을 기반으로 생성된 정수 값을 반환같은 내용을 가진 객체는 동일한 hashCode() 값을 반환합니다.서로 다른 내용을 가진 객체를 다른 hashCode() 값을 반환합니다

자바에서는 ==이라는 비교 연산자가 있다 이 연사자는 두 피 연산자의 값이 같은지를 검사한다.일단 == 연산자는 주소의 값을 비교한다.그러면 equals뭘까?equals() 연산자는 객체끼리 내용을 비교하는 메소드이다.자바Poolequals()을 사용하면 객체 간의 내

동일성이란 동일하다는 뜻이다.두개의 객체가 있다면 두 객체가 완전히 같은 경우를 의미한다.두 객체가 주소값이 같으면 같은 객체로 본다.동일성은 ==으로 판단한다. ==은 주소를 검사하는 연산자이다.예를 들어위의예제에서 a와 b는 같은 내용의 문자열을 가지고 있지만,

개발을 하면서 자주 격게되는 exception 중에 하나인NullPointerException 이라는 예외처리를 항상 예상하고 처리해야 된다. 거기서 Optional을 쓰면 null을 예외처치를 쉽게 할 수 있다.Optional을 쓰지 않으면 if로 예외 처리를 해줘야

개요 스프링부트를 하면서 Collections.singleton에 대한 코드를 봤다. 싱글톤 싱글톤이라는 개념은 알고 있었다. 싱글톤: 특정 클래스들의 인스턴스를 1개만 생성되는 것을 보장하는 디자인 패턴이다. 메모리 낭비를 방지 참고! : 스프링은 기본적으로 싱글

(Key, Value)로 데이터를 저장하는 자료구조입니다.내부적으로 배열을 사용해서 데이터를 저장함Key값에 해시함수를 적용해 고유한 index를 생성함장점빠른 검색 속도: 한번만 조회하면 됨O(1)의 속도단점순서를 보장하지 않음데이터가 pseudo-random(유사