728x90
반응형

Computer Science/OOP 4

JPA 연관관계 매핑, 상속관계 매핑

🚩들어가며 연관관계 매핑이 좀 헷갈려서 심화내용과 함께 정리하면 좋을 것 같다. 특히 양방향 단방향이 너무 헷갈린다 문법적인 암기사항만 정리해봤다 🌱연관관계 매핑 N : 1 단방향 N쪽 테이블과 매칭할 클래스에 @ManyToOne @JoinColumn(name ="매핑하려는 컬럼명") N : 1 양방향 단방향 + 1쪽 테이블과 매칭할 클래스에 @OneToMany(mappedBy = "N쪽의 FK 가진 필드명") mappedBy 를 쓰는 이유는 읽기전용으로만 활용하기 위함이다 실제로 mappedBy 쪽에 데이터를 넣어도 저장되지 않는다 그러나 객체지향적 설계에서 1쪽에 객체를 넣는 것이 자연스러우므로 연관관계 편의 메서드를 생성해 1)Setter보다는 직접 작성으로 2) N, 1객체 모두에 입력할 수 있도..

객체지향 설계의 3가지 관점과 코드예제

객체 지향 설계 속의 상호 연관된 관점 3가지개념관점도메인 내의 개념, 개념 사이의 관계 표현명세관점소프트웨어의 관점→객체의 인터페이스 관점객체가 협력을 위해 무엇을 할 수 있는가?ex:인터페이스와 구현 분리 구현 관점객체들이 책임을 수행하기 위해 필요한 동작하는 코드 작성객체의 책임을 어떻게 수행할 것인가? 클래스는 세 가지 관점을 모두 수용하며, 이 관점을 식별할 수 있도록 깔끔하게 분리해야 한다 역할, 책임, 협력을 이용한 인터페이스 식별협력 참여를 위해 객체가 수신해야 하는 메시지메시지가 모여 인터페이스 구성→인터페이스 관점(명세 관점) 커피 전문점 도메인커피 전문점에서 커피 주문하기를 객체 협력 관계로 해석해보자💡동네의 작은 커피 전문점, 세 가지 메뉴가 적힌 메뉴판을 보고 손님이 커피를 주문하..

캡슐화는 정보 은닉이 아니다(번역) encapsulation, cohesion, coupling

원문 링크 클릭 🚩들어가며 캡슐화에 대해 학습하면서 접근제어자를 배우고, 정보 보호와 은닉이 주 목적이라고 학습하면서, 동시에 getter, setter 메서드를 배우니 의아함을 지울 수 없었다. 어차피 수정하게 할 거면...이게 어떻게 보호죠?( 이 부분에 대한 답변은 참고자료 1번에 있다) 아무튼, 시작해보자! 🌱데이터 은닉이라는 설명이 부족한 이유 객체지향의 목적에 반한다? 값을 private으로 숨기게 되면, 임의로 값을 저장하는 걸 막을 수 있고, DI 자동화를 위한 필드를 선언할 수 있는 등 여러 장점이 생기지만, 현실적으로는 이러한 은닉이 코드 전반의 결합성을 올려 불필요하다는 의견도 있다.(링크 참고) 또한 객체지향 방법론의 기둥으로 캡슐화를 설명하면서, 캡슐화를 단순히 데이터 은닉과 보호..

For문 중괄호 생략 이유, For - while 문 구조 정리

🚩들어가며 For문은 혼자 쓰이면 간단하지만, if나 while과 함께 쓰일 때 구조가 처음에는 많이 헷갈리는 듯하다. 눈으로만 봐서는 어디까지가 루프의 시작과 끝인지 알기 어려워 순서도(flowchart)를 그려보는 게 좋은데, 이때 중괄호가 생략되면 더 큰 혼란에 빠지게 된다. Do it! 알고리즘 자바 편을 공부하다 교재 오타인지 내가 모르는 문법인지 헷갈렸는데 다른 사람들은 나처럼 혼란스럽지 않길 바라는 마음으로 글을 시작한다! 👀사전 지식 For문의 기본 문법 While 기본문법 If문 기본문법 위 링크들을 먼저 읽어보고 오면 좋다! 🌱오늘의 소스코드: 빠르게 이해되나요? 1. for-if문 public class SeqSearch { static int seqSearch(int[] a, int..

728x90
반응형