반응형
- 객체 : 속성과 기능을 갖춘 것
- 클래스 : 속성과 기능을 정의한 것
- 인스턴스 : 속성과 기능을 가진 것 중 실재하는 것
객체나 클래스나 똑같지뭐~~ 는 아니엇음
클래스 는 정의서라고 보면 될꺼같고
인스턴스는 정의서를 토대로 만들어진 무언가,,
객체는 이 모든 것
객체지향의 원칙
SOLID is a mnemonic invented by Michael Feathers that stands for and advocates five programming practices:
- Single responsibility principle 하나의 의존성만을 가진다.
- Open/closed principle : 확장은 열려있고 , 축소는 닫혀잇다(?)
- Liskov substitution principle
- Interface segregation principle
: JAVA의 interface 와 다르다: 인터페이스를 정의 와 구현을 분리한다. (JAVA는 분리되어있음, c++ 은 분리 안되있음): 인터페이스는 하나의 행위(?)만을 가진다.???
: 추상 클래스에서 행위를 정의할 때
클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.[1] 인터페이스 분리 원칙은 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 한다. 이와 같은 작은 단위들을 역할 인터페이스라고도 부른다.[2] 인터페이스 분리 원칙을 통해 시스템의 내부 의존성을 약화시켜 리팩토링, 수정, 재배포를 쉽게 할 수 있다. 인터페이스 분리 원칙은 SOLID 5원칙의 하나이며, GRASP의 밀착 원칙과 비슷하다. [3] - Dependency inversion principle
재사용성( Reusable Object-Oriented Software)
- 개발 생산성을 위한 코드의 재사용성을 중요하게 생각 한다.
- 재사용성 : 최소한의 수정으로 변경사항을 반영
- 재사용성을 위한 계념
상속: 미리정의된 메소드와 속성을 다시사용
클래스의 상속은 여러 가지 이점을 가지고 있다. 그 하나는 코드의 재사용이 가능하다는 것이다. 여러 개의 클래스에서 공통으로 사용되는 코드는 그들의 슈퍼클래스(superclass) 안에 놓일 수 있기 때문에 각각의 새로운 클래스는 굳이 동일한 코드를 다시 정의할 필요가 없다 (출처: Gof 디자인페턴)
다형성 : 동일한 이름을 갖는 메쏘드나 연산자가 다양한 문맥(context)에서 겉모습은 그대로 유지하되 속모습은 달리하면서 사용될 수 있도록 하는 강력한 기법이다.
- 이러한 재사용성을 높이기 위한 방법으로는 추상화를 하는 것이 주요하다.
반응형
'Develope > 개발일지' 카테고리의 다른 글
gitlab nginx 설정 (0) | 2021.12.14 |
---|---|
이클립스 속도가 느릴 때 (0) | 2020.06.18 |
xml 파일과 properties 파일 (0) | 2018.12.03 |
[Android / Mac] adb를 이용한 안드로이드 화면 캡쳐/녹화 (0) | 2018.08.28 |
[용어] WBS 란 (Work Breakdown structure) (1) | 2018.01.05 |