Java 공부를 하다 보면 어느 순간 반드시 만나게 되는 개념이 있다.👉 Reflection처음 들으면 이름부터 어렵다.그리고 보통 설명도 이렇게 나온다.런타임에 클래스 정보를 분석하는 기능처음 보는 사람 입장에서는:"그래서 정확히 뭘 할 수 있다는 건데?"싶어진다.근데 Reflection은:✔ Spring✔ JPA✔ Lombok✔ Jackson✔ Mockito✔ 테스트 프레임워크같은 거의 모든 Java 프레임워크 내부에서 사용되는 핵심 기술이다.실무에서도 엄청 중요하다.왜냐면:객체를 동적으로 제어할 수 있기 때문이다.오늘은 Reflection이 무엇인지 초보자도 이해할 수 있게 쉽게 정리해보겠다.Reflection 이란?👉 실행 중(Runtime)에 클래스 정보를 분석하고 조작하는 기술쉽게 말하면:..
Java 공부하다 보면 거의 반드시 듣게 되는 말이 있다.👉 equals와 hashCode는 같이 재정의해야 한다근데 처음 들으면 솔직히 이해가 잘 안 된다.왜냐면 대부분 이렇게 생각한다."equals만 비교하면 되는 거 아닌가?"실제로 equals만 오버라이딩해도:obj1.equals(obj2)는 정상 동작한다.근데 문제는:✔ HashSet✔ HashMap✔ HashTable✔ 중복 제거✔ key 비교같은 상황에서 발생한다.그리고 실무에서는:중복 데이터조회 실패contains 실패같은 이상한 버그가 생긴다.오늘은 equals와 hashCode를 왜 같이 재정의하는지 초보자도 이해할 수 있게 쉽게 정리해보겠다.먼저 equals란?👉 객체의 논리적 동등성 비교쉽게 말하면:내용이 같은지 비교한다.기본 e..
자바 8 공부하다 보면 거의 무조건 만나게 되는 문법이 있다.👉 람다식(Lambda Expression)처음 보면 솔직히 좀 당황스럽다.왜냐면 이런 코드가 갑자기 나오기 때문이다.() -> {}그리고 대부분 처음엔 이렇게 생각한다."이게 대체 뭐지?"근데 람다식을 이해하면:✔ Stream API✔ Optional✔ 함수형 프로그래밍✔ 비동기 처리✔ 컬렉션 정렬이런 최신 자바 문법들이 전부 연결된다.실무에서도 진짜 엄청 많이 사용한다.오늘은 람다식(Lambda)을 초보자도 이해할 수 있게 쉽게 정리해보겠다.람다식(Lambda) 이란?👉 익명 함수(Anonymous Function)를 간단하게 표현하는 문법쉽게 말하면:"이름 없는 함수"이다.왜 람다식이 필요할까?기존 자바는 코드가 길었다.기존 방식Run..
자바 코드 작성하다 보면 진짜 많이 보는 에러가 있다.NullPointerException일명:NPE처음 개발할 때는 거의 반드시 한 번 이상 겪는다.그리고 대부분 이런 코드를 작성하게 된다.if(user != null) {}근데 null 체크가 계속 늘어나면:✔ 코드 지저분해짐✔ 가독성 저하✔ 실수 증가문제가 발생한다.그래서 Java 8부터 등장한 것이:👉 Optional이다.오늘은 Optional을 제대로 사용하는 방법을 초보자도 이해할 수 있게 쉽게 정리해보겠다.Optional 이란?👉 null 값을 안전하게 처리하기 위한 컨테이너 객체쉽게 말하면:"값이 있을 수도 있고없을 수도 있다"를 표현하는 객체다.왜 Optional이 필요할까?기존 방식:User user = findUser();if(us..