
Error 와 Exception의 차이점에 대해 알아봤다. Exception의 unchecked 예외가 Error와 같은 오류인 걸 알았다. | Key | Error | Exception | | --- | --- | --- | | 타입 | unchecked 예외 |

강의를 들으면서 자바의 기초를 배웠다. 아주 쉽고 간단하게 설명해줘서 좋았다. Scanner로 야구게임을 만드는 작업도 페어 프로그래밍으로 했다. 내용 자체가 어렵지 않았고 이해도 쉽게 되서 어려움 없이 할 수 있었다.조에서 매일 페어를 바꿔서 페어 프로그래밍으로 프로

영속성 컨텍스트란? "엔티티를 영구 저장하는 환경" 어플리케이션과 DB 사이에 객체를 보관하는 가상의 DB 역할 EntityManager를 통해 엔티티를 저장하거나 조회하면 EntityManager는 영속성 컨텍스트에 엔티티를 보관하고 관리하게 된다. 엔티티 생명주기

현실 세계의 사물및 개념들을 객체로 보고, 그 객체들을 조립하여 프로그래밍 하는 기법객체의 속성(Field)과 행위(Method)를 하나로 묶고, 외부로 부터 내부를 감싸 숨기는 것가장 중요한 목적은 정보의 은닉화이다.예를 들어, public 으로 선언하면 누구나 접근

"웹 브라우저 클라이언트로부터 HTTP 요청을 받아드리고 HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램"정적 컨텐츠를 제공하는 서버동적 컨텐츠 요청 받으면 WAS에게 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달해주는 역할도 한다정적 컨텐츠

오버로딩(Overloading) 매개변수의 개수나 타입을 다르게 하여 같은 이름의 메소드를 여러개 정의하는 것 조건 메서드의 이름이 같아야 한다 매개변수의 개수 or 타입이 달라야 한다 오버라이딩(Overriding) 상위 클래스에 있는 메소드를 하위 클래스에서 재

JPA N + 1 1번의 쿼리를 날렸을 때 의도하지 않은 N번의 쿼리가 추가적으로 실행되는 것 원인 JPA는 메서드 이름을 분석해서 JPQL이 생성되어 SQL이 실행된다. 즉, 메서드 이름만을 분석하기 때문에 연관 관계는 파악하지 못한 채 SQL문이 실행된다. 즉시
자바 백엔드 개발자로서 "객체지향 설계", "OOP 원칙", "유지보수 가능한 코드"와 같은 말들을 자주 듣지만 실제로 OOP를 어떻게 적용해야 좋은 코드인지 혼란스러울 때가 많았다. 특히 "상속을 써야 객체지향이다", "클래스로 나누기만 하면 OOP다"와 같은 말들이
멀티스레드 환경에서 동기화는 공유 가변 상태를 안전하게 보호하기 위한 최소한의 수단이다. 하지만 “안전하자”는 이유로 잠금을 넓게 잡거나 잠금을 쥔 채로 오래 계산하거나 잠금 중에 콜백/로깅/equals 같은 외부(외계인) 메서드를 호출하면 성능 저하는 물론 데드락·라
멀티스레드 프로그래밍을 처음 접하면 보통 new Thread(...)를 직접 생성해서 작업을 실행한다. 하지만 스레드를 직접 다루는 방식은 확장성, 자원 관리, 실패 복구 면에서 한계가 크다. 아이템 80의 요지는 간단하다. > 스레드를 직접 다루지 말고 실행자 프레
자바 초창기부터 제공된 wait/notify 메커니즘은 스레드 간 협력에 사용된다. 하지만 직접 쓰기 어렵고 버그 유발 가능성이 크며 가독성이 떨어진다. 자바 5부터는 java.util.concurrent 패키지에 다양한 동시성 유틸리티가 도입되었고 이제는 이들을 쓰는