자바 객체 생성 방법: 생성자(Constructor) vs 정적 팩토리 메서드(Static Factory Method)
·
JAVA
자바에서 객체를 생성하는 방법에는 크게 두 가지가 있습니다.기본 생성자를 사용하여 객체를 생성하는 방법정적 팩토리 메서드를 이용해 객체를 생성하는 방법이번 글에서는 두 번째 방법인 정적 팩토리 메서드를 이용해 객체를 생성하는 방식과 그 이유에 대해 설명해 보겠습니다. 정적 팩토리 메서드란?정적 팩토리 메서드는 static 키워드를 가진 객체 생성 메서드입니다. 일반적으로 생성자는 new 키워드를 사용하여 객체를 생성하지만, 정적 팩토리 메서드는 클래스 내부에 작성된 메서드를 통해 객체를 반환합니다. 이를 위해 생성자에 private 접근 제한자를 사용하여 외부에서 직접 new 키워드를 사용해 객체를 생성하지 못하도록 제한할 수 있습니다.그렇다면 생성자가 있는데, 왜 굳이 정적 팩토리 메서드를 사용할까요?..
C++ 프로그래밍 기초: 명칭공간, 입출력 스트림, 빌드 과정
·
C++
1. C++ 언어란?1979년 Bell 연구소의 Bjarne Stroustrup이 C언어를 확장하여 만든 프로그래밍 언어C with Classes1983년부터 C++라는 이름을 사용함주요 확장 내용객체지향 프로그래밍: 클래스, 상속, 다형성, 동적 바인딩 등일반화 프로그래밍: 템플릿예외처리2. C++ 프로그램의 작성 및 빌드2-1. 소스프로그램 파일 및 빌드소스 프로그램 파일이란?처리하고자 하는 작업을 수행하는 C++ 프로그램 명령어들을 담고 있는 파일파일 확장자: `.cpp`, `.cxx`, `.C` 등을 사용함// FistStep.cpp#include int main() { // 표준 출력 스트림으로 문장을 출력함 std::cout 헤더 파일이란?클래스, 함수의 원형, 매크로, 전역변수, ..
MemberService 테스트 중 LazyInitializationException
·
JPA
MemberService 테스트 코드 @SpringBootTest @Transactional // 같은 트랙잭션안에서 테스트 메서드 실행 class MemberServiceTest { @Autowired private MemberService memberService; @Autowired private MemberRepository memberRepository; @Test void join() throws Exception { // 회원가입 테스트 // Given - 테스트할 상황 설정 Member member = new Member(); member.setName("Kim"); // When - 테스트 대상 실행 Long saveId = memberService.join(member); // Then..
Spring JPA - 회원 엔티티, 서비스, 레포지토리 구현
·
JPA
자바 ORM 표준 JPA 프로그래밍을 공부하고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 프로젝트 환경설정 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-d..