본문 바로가기

전체 글196

07. @Embeddable2 - 다른 테이블에 매핑하기 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 다른 테이블에 값을 저장할 때 DB 설계 중에는 여러 테이블에 관련된 값을 저장할 때가 있다. writer와 관련된 데이터를 writer_intro와 writer_address에 나눠 저장할 수 있다. 이 세개의 테이블을 자바 코드로 모델링 하면 오른쪽과 같이 세 개의 클래스를 이용해 구현할 수 있다. Intro와 Address는 데이터를 지닌 값의 형태로 존재할 수 있다. @Embeddable로 엔티티인 Writer에 Intro와 Address를 매핑할 수 있다. * 방법1 - @SecondaryTable + 테이블명 Intro클래스는 @Embeddable을 사용하지만 @Column에 table.. 2023. 2. 28.
생성자 오버로딩은 왜 사용하면 안되는가. 지난 주차에 생성자 오버로딩에 관련하여 배우면서, 생성자 오버로딩의 사용법과 왜 사용하는지에 대해 공부했다. 그리고 생성자 오버로딩은 왜 사용하면 안 되는지에 대해 생각해 보라는 숙제를 받았다. 오늘까지 고민해본 결과 생성자 오버로딩을 사용하면 안 되는 이유는 다음과 같다. 생성자 오버로딩은 명시적이지 않은 코드를 만든다. 클린 코드를 공부하면서 내 나름대로 세운 규칙 중에 하나는 '반드시 명시적인 이름을 사용하라' 이다. 우리는 코드를 마치 '글을 읽듯이 읽을 수 있게 작성해야 한다'. 전체적인 코드를 봤을 때, public한 메서드들과 생성한 객체들만 가지고도 어떤 객체들을 활용해서 어떤 기능을 하는 프로그램인지 알 수 있어야 한다. 따라서 메서드의 이름과 객체의 이름, 변수의 이름은 반드시 '그 이.. 2023. 2. 28.
06. @Embeddable 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 테이블과 매핑 예 지금까지는 위의 그림처럼 테이블의 칼럼과 클래스의 속성을 1 vs 1로 매핑했다. * 실제 모델 실제로는 address1, address2, zipcode를 모아 Address로 나눠 표현한다. 이러한 방법이 표현력 역시 좋다. * @Embeddable 엔티티가 아닌 타입이 한 개 이상의 필드와 매핑할 때 사용할 수 있는 것이 @Embeddable 애노테이션이다. 대표적으로 Address, Money 등이 있다. Address와 같은 값 타입 클래스에는 @Embeddable을 붙이고, Hotel과 같이 Embeddable한 타입을 사용할 Entity 클래스에서는 @Embedded.. 2023. 2. 27.
'왜'는 왜 생각해야 하는가. 모든 일과 현상에는 '이유'가 있고 '결과'가 있다. 세상 그 어떤 일도 원인 없이 갑자기 일어나지는 않는다. 그리고 우리는 모든 일의 이유를 알 수 있다. 아마 우리 인간이 그 이유를 파악할 수 없는 유일한 일은 '이 세상은 도대체 어떻게 생겨난 걸까' 밖에 없을 것이다. 개발 공부를 시작한 이래로, 나는 '왜'에 대한 생각을 계속해왔다. 이 블로그에서도 '왜'에 대한 사고를 끊임없이 강조하고 있고, 일상생활에서도 '왜'와 관련한 생각을 꾸준히 진행하고 있다. 그런데 '왜'는 왜 생각해야 할까. 오늘은 나와 '왜'의 길고도 짧은 여정에 대해 간략하게 서술하고자 한다. 내가 처음으로 '왜'를 생각하게 된 건 중학생 때였다. 당시 내가 다니던 학원에서는 어떤 새로운 외부강사님을 초청해 '논술' 수업을 진행.. 2023. 2. 27.
현대 음악 클래식전 : Ben Folds Five - One Angry Dwarf and 200 Solemn Faces One Angry Dwarf And 200 Solemn Faces 아티스트 Ben Folds Five 앨범 Whatever And Ever Amen 발매일 1970.01.01 If you really want to see me, check the papers and the TV. Look who's tellin' who what to do. Kiss my ass goodbye. 비정기적으로 발행될 예정인 현대 음악 클래식전은 제가 5년 이상 들었거나 5년 이상 들을 것 같은 곡들을 소개하는 자리입니다. 따라서 곡 선정은 당연히 제 맘입니다. 왜 이따위 노래를 선정했냐고 물으신다면 딱히 사과의 뜻은 전하지 않습니다. 저는 전문 평론가가 아닙니다. 곡에 대한 감상은 굉장히 초보적입니다. 그럼 왜 쓰냐고 물으.. 2023. 2. 27.
Section 1 - Unit 6 : [Java] 객체지향 프로그래밍 심화 Review Review 에서는 학습한 내용을 다시금 기록합니다. Unit Review는 학습한 내용 중 기존에 알고 있었지만 정확하게 이해하지 못하던 정보와 새롭게 알게된 정보를 기록합니다. 추가적인 설명을 요하는 부분은 댓글로 남겨주세요. Section Review는 전반적인 Section을 되돌아보고 학습했던 시간과 과정, 내용을 총괄하여 기록합니다. 상속 * 상속 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 것이다. 하위 클래스가 상위 클래스를 상속받으면, 상위 클래스의 필드, 메서드, 이너 클래스 등의 멤버를 사용할 수 있다. 추상화를 통해 여러 클래스의 공통점을 담은 하나의 상위 클래스를 만들어 이를 상속받으면 불필요한 코드의 중복을 방지할 수 있다. 자바에서는 단일 상속만을 허용한다. *.. 2023. 2. 27.
반응형