CS/OOP

잔디심는 정원사
추상 클래스와 인터페이스의 차이점
·CS/OOP
추상 클래스와 인터페이스는 모두 인스턴스화 (new)를 할 수 없다는 공통점이 있다.추상 클래스와 인터페이스의 차이점은 ?  추상 클래스인터페이스추상이 아닌 메소드가질 수 있음모든 메서드가 추상 메서드인스턴스 변수 선언가능불가능, static final 은 가능생성자정의 가능정의 불가가시성 차이점구분인터페이스 멤버 (메서드)추상 클래스 멤버 (메서드, 변수)인터페이스 자체추상클래스 자체Public기본적으로 적용명시적으로 지정 가능명시적으로 지정 가능명시적으로 지정 가능Protected불가능지정 가능불가능지정 가능Private자바 9+에서 내부 구현을 위해 지정 가능지정 가능불가능지정 가능Package-private패키지 내에 선언 시 자동 적용 (명시적으로 public이 아닐 경우)패키지 내에 선언 시 ..
UML(UML 필요성, 클래스 다이어그램)
·CS/OOP
UML이란?UML(Unified Modeling Language)은 프로그램의 구조와 행위를 시각적으로 표현하기 위한 표준화된 모델링 언어입니다. 복잡한 소프트웨어 시스템의 설계를 다이어그램으로 표현함으로써, 개발자와 이해관계자 간의 의사소통을 용이하게 합니다. UML 사용 이유모델 검증: UML을 사용하면 구현 전에 시스템 모델을 검증할 수 있고, 잠재적인 문제를 사전에 발견하고 수정할 수 있습니다.비용 절감: 코드를 작성하고 테스트하는 것보다 UML 모델을 사용하여 시스템을 설계하고 검증하는 것이 비용이 적게 듭니다.테스트 및 검증: 시스템이 실제로 요구사항을 만족하는지 테스트하고 검증하기 위해 사용됩니다.UML 다이어그램 종류 구조 다이어그램클래스 다이어그램객체 다이어그램복합체 구조 다이어그램배치 ..
객체 지향 원리 적용
·CS/OOP
우선 회원 도메인과 주문 도메인을 설계 및 구현해보자 1.1 회원 도메인 설계 회원 도메인 협력 관계 회원 클래스 다이어그램 회원 객체 다이어그램 1.2 회원 도메인 개발 Grade(enum) public enum Grade { BASIC, VIP } Member 엔티티 public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade; } public Long getId() { return id; } public void setId(Long id..
좋은 객체 지향 설계의 5가지 원칙-SOLID
·CS/OOP
SOLID란?클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존관계 역전 원칙 SRP 단일 책임 원칙하나의 클래스는 하나의 기능을 담당해 하나의 책임을 수행하는데 집중되어야 있어야 합니다. 단일 책임 원칙 준수 유무에 따른 가장 큰 특징 기준 척도는, '기능 변경(수정)' 이 일어났을때의 파급 효과 이며, 모듈이 변경되는 이유가 한가지 여야 함을 뜻합니다. 책임이란? 책임 = 해야 하는 것       = 할 수 있는 것       = 해야 하는 것을 잘 할 수 있는 것 산탄총 수술산탄총 수술은 산탄이 사방으로 퍼져날라가 동물에게 맞았을 때 수술해야하는 부위가 많아지는 ..
minsu20
'CS/OOP' 카테고리의 글 목록