본문 바로가기
728x90

분류 전체보기138

객체지향 설계란? - 2. OCP 이번 포스팅에서는 OCP 규칙에 대해서 포스팅해보겠습니다. OCP(Open Closed Principle) : 개방 폐쇄 원칙 소프트웨어 객체는 확장에는 열려있고, 수정에는 닫혀있다는 한다는 프로그래밍 원칙입니다. 프로그래밍을 진행할 때 수정할 때 한 객체를 수정해야 하는 상황이 발생한다면 그 객체를 이용하는 다른 객체들을 줄줄이 수정해야 하는 일이 발생할 수 있습니다. 따라서, 개방 폐쇄 원칙을 잘 지키게 된다면 기능을 추가하거나 수정할 때 기존의 코드를 수정하지 않고, 새로운 코드를 추가함으로써 기능의 추가나 수정을 완성할 수 있습니다. 말로만 하면 이해하기 어려우니 간단한 코드로 알아보겠습니다! Tiger 클래스입니다. public class Tiger { public String name; pub.. 2021. 12. 19.
객체지향 설계란? - 1. SRP (solid) 객체지향의 특징은 다형성, 캡슐화, 상속, 추상화 들이 있습니다. 이러한 특징을 잘 활용해서 객체지향 설계를 해야합니다. 하지만 잘 하라고만 하면 어떻게 하라는 건지... 알 수 없습니다. 따라서 특징을 잘 살려 어떻게 하라고 설명서 같은 원칙들이 있습니다. 바로 solid 입니다. SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open Close Principle) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) :: 의존 역전 원칙 위의.. 2021. 12. 1.
POST와 PUT의 차이점 Rest API를 자주 사용하면서 Http메소드에 대해 기본적으로 잘 알고 있다고 생각했습니다... 하지만 post와 put의 차이점에 대한 질문을 받았을 때 생성과 수정이라는 답 말고는 할 수 있는게 없었습니다... 이번 포스팅에서 두 메소드가 어떻게 다른지에 대해서 알아보겠습니다. 우선, POST : 데이터 생성 PUT : 데이터 생성 및 수정 입니다. 간단한 예시를 보겠습니다. post 예시입니다. post/member { "name":"hyeok" "age":26 } HttpResponse 200 OK { "id":1 "name":"hyeok" "age":26 } - 포스트 방식으로 요청했을 때 id가 1로 잘 생성된 것을 알 수 있습니다. 이번에는 put 예시를 보겠습니다. put/member/.. 2021. 11. 29.
JPA 엔티티 매핑 - 필드와 컬럼 매핑 이번 포스팅에서는 필드와 컬럼 매핑에 대해서 알아보겠습니다. Member 엔티티를 만들어 보겠습니다. package hellojpa; import javax.persistence.*; import java.util.Date; @Entity public class Member { @Id private Long id; @Column(name = "name") private String username; private Integer age; @Enumerated(EnumType.STRING) private RoleType roleType; @Temporal(TemporalType.TIMESTAMP) private Date createDate; @Temporal(TemporalType.TIMESTAMP) pri.. 2021. 11. 23.
JPA 엔티티 매핑 - 데이터베이스 스키마 자동 생성 이전 포스팅에 이어 jpa 엔티티 매핑 중 데이터베이스 스키마 자동 생성에 대해서 알아보겠습니다. jpa를 사용하면 DDL을 애플리케이션 실행 시점에 자동 생성합니다. 테이블 중심 -> 객체 중심 데이터베이스 방언을 활용해서 데이터베이스 맞는 DDL을 생성합니다. DDL은 개발 장비에서만 사용하는게 좋습니다. hibernate.hbm2ddl.auto 옵션 설명 create 기존테이블 삭제 후 다시 생성(DROP + CREATE) create-drop create와 같으나 종료시점에 테이블 DROP update 변경분만 반영 validate 엔티티와 테이블이 정상 매핑되었는지 확인 none 사용하지 않음 추가 설명 create를 사용할 경우 기존의 테이블을 drop한 후 새로운 create 명령어가 사용된.. 2021. 11. 16.
JPA 엔티티 매핑 - 소개 및 객체와 테이블 매핑 이번 포스팅은 JPA의 엔티티 매핑에 대해서 알아보겠습니다. 먼저, 엔티티 매핑 소개가 있겠습니다. 객체와 테이블 매핑 : @Entity, @Table 필드와 테이블 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn ... 객체와 테이블 매핑 @Entity - @Entity가 붙은 클래스는 JPA가 관리합니다. => 엔티티라고 부릅니다. - JPA를 사용하기 위해서는 클래스에 꼭 @Entity를 붙여줘야 합니다. - 기본 생성자가 필수입니다!! 하지만 생성자가 아무것도 없다면 자동으로 기본 생성자를 만들어 줍니다. 따라서 특정 파라미터가 있는 생성자가 필요하다면 기본 생성자를 만들어줘야 합니다. - final ,enum,interface ,inn.. 2021. 11. 15.
728x90