Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 클린코드
- NLP
- 다익스트라
- 머신러닝
- Alexnet
- cs231n
- 논문리뷰
- 디미터법칙
- 백준 1916 자바
- 1107번
- 백준
- deeplearning
- 1261
- dijkstra
- 3745
- GPT
- 백준 1339 자바
- 관심사분리
- 1916
- 딥러닝
- 논문
- MachineLearning
- 자바
- 백준9095
- 알렉스넷
- 논문구현
- Java
- 백준 1339
- 짝지어제거하기
- 알고리즘
Archives
- Today
- Total
목록용어 (1)
산 넘어 산 개발일지
OCP (Open-Closed Principle) (개방-폐쇄 원칙)
"클래스나 모듈은 확장에는 열려 있어야 하고 수정에는 닫혀있어야 한다." 처음에는 이 문장이 이해가 가지 않았다. 확장은 정확히 무엇을 뜻하는 것이고, 수정은 어느 부분을 수정한다는 것인지 모호했다. 가장 간단히 확장과 수정을 구분해보자면, 확장은 클래스나 모듈 외부에서 클래스에 변화를 주는 것이고, 수정은 클래스나 모듈 자체의 코드를 수정함으로써 변화를 주는 것이다. 클래스나 모듈 외부에서 변화를 준다는 말은, 클래스의 내용 자체는 수정하지 않지만 외부에서 입맛에 따라 변화를 준다는 뜻이다. 이를 가능하게 하기 위해선 클래스에서 외부에서 주는 변화요청을 받을 준비가 되어 있어야 한다. 다시말해, 클래스에 대한 수정을 지원할 멤버함수, 멤버변수가 있어야 한다는 것이다. 컴퓨터와 프린터를 통해 예시를 들어..
Study/용어
2021. 2. 10. 16:53