728x90 전체 글139 객체지향 설계란? - 3. LSP 이번 포스팅에서는 solid의 3번째 원칙인 lsp에 대해서 알아보겠습니다! LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 LSP에 대해서 설명하기에 앞서, 객체지향의 대해서 조금 이야기 해보겠습니다. -객체지향에서의 상속은 조직도나 계층도로 표현되면 안됩니다. 조직도 같은 경우, 분명 다른 존재임에도 같은 기능을 요구할 수 있기 때문입니다. 따라서,객체지향은 분류도로 표현해야합니다. 이 이야기에 대해서는 밑에서 그림으로 좀 더 이야기 해보겠습니다. - 서브타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 합니다. - 하위 클래스의 인스턴스는 상위 클래스의 인스턴스 역할을 수행하는데 문제가 없어야 합니다. 위의 문장을 정리하면 하위클래스 is a kind of .. 2022. 1. 16. 객체지향 설계란? - 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. 이전 1 ··· 3 4 5 6 7 8 9 ··· 24 다음 728x90