Java Inner Class (내부 클래스) (작성중)

Java의 inner class(내부클래스) 또는 nested class(중첩클래스)는 class나 interface 내부에 선언된 클래스다. Inner class 장점 중첩 클래스는 private 포함하여 외부 클래스의 모든 멤버(멤버변수, 메서드)에 접근할 수 있

3일 전
·
0개의 댓글
·

상속보다는 Composition을 사용하라

상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.상속은 아래와 같은 장점을 가지고 있다.적은 양의 코드로 새로운 클래스를 작성할 수 있다. (시간단축)코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이하다.코드의 재사용성을 높이고

5일 전
·
0개의 댓글
·

Memory Leak in Java

Java는 GC에 의해 암묵적으로 메모리를 회수한다. GC는 도달할 수 없는(unreachable) 객체가 있는지, 엄밀히 말하자면 해당 객체를 가리키는 참조가 없는지 주기적으로 확인하고 발견하게 된다면 메모리를 회수한다.하지만 프로그램에서 사용되지 않는(unused)

6일 전
·
0개의 댓글
·

Race Condition in Java

Java는 multi-thread 프로그래밍 언어이며 race condition이 발생할 위험이 높다. 동일한 리소스를 여러 스레드에서 동시에 접근할 수 도 있고 데이터가 변경될 수 도 있기 때문이다.race condition은 동시성 버그라고 말할 수 있으며 dead

7일 전
·
0개의 댓글
·

숏서킷(short-circuit)

Java의 논리 연산자에서 논리 표현식의 평가(evaluation)가 완료되기 전에 종료되는 경우를 숏서킷이라고 한다.평가(evaluation)가 완료되기 전에도 결과가 명확하기 때문에 결과가 반환되어 숏서킷이 일어난다.이는 불필요한 작업(뒤에 남은연산)을 피하고 효율

7일 전
·
0개의 댓글
·

Lock Striping

문제 이전 글에서 설명했다 싶히, HashMap은 동기화를 지원하지 않는다. 스레드로부터 안전한 데이터 구조가 아니기 때문에, 멀티 스레드(Multi-Thread)환경에서 데이터 불일치가 발생할 수 있다. 이 문제를 극복하기 위해 Collections.syncroni

7일 전
·
0개의 댓글
·

equals 와 hashCode(동일성 vs 동등성) 그리고 lombok

equals와 hashCode 둘다 Object클래스에 정의 되어있기에, java의 모든 객체는 두 메서드를 상속받고 있다. equals equals는 객체가 동일한지 검사하기 위해 사용된다. Object에 구현된 방식은 2개의 객체가 참조하는 것이 동일한지를 확인하

2023년 1월 18일
·
0개의 댓글
·

Immutable List

Immutable의 사전적 의미로 불변의, 변경할 수 없는 이라는 뜻이다. 즉 Immutable List는 수정(추가, 삭제, 변경)이 불가능한 List이며, 컬렉션이 생성된 후 변경되는 것을 방지할 때 사용할 수 있다.finalfinal은 불변이 아닌 재할당을 금지하

2023년 1월 17일
·
0개의 댓글
·

Collections.synchronizedMap vs ConcurrentHashMap

HashTable과 HashMap 위의 개념을 다루기 이전에, HashTable과 HashMap이 있다. HashTable : JDK1.0부터 키-값(Key-Value)타입의 자료구조로 HashTable을 제공한다. HashMap : Java2부터 Java Collec

2023년 1월 17일
·
0개의 댓글
·