-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6e50506
commit 6b15662
Showing
1 changed file
with
8 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,20 @@ | ||
### **상속을 다시 생각해보자** | ||
|
||
상속은 객체 지향 프로그래밍의 중요한 부분이고 잘 쓰면 유용하지만 잘못된 상속을 만들면 문제가 발생합니다. LSP를 위반함으로써 편리함과 단순함을 얻을 수 있습니다. | ||
|
||
<br> | ||
|
||
저 같은 경우 처음으로 상속을 알았을 때 혁명이라고 생각했습니다. 그렇게 상속을 잘 활용된 코드가 좋은 코드라고 생각하며 살아왔죠. | ||
|
||
<br> | ||
|
||
하지만 Gong Of Four를 공부하면서 상속을 잘쓰는 방법은 상속을 쓰지 않는 것이라는 말을 듣고 깜짝돌랐습니다. | ||
|
||
<br> | ||
|
||
듣고 보니 그랬습니다. 상속이 잘되어있다는 것은 너무 강하게 결합되어 있다는 것이고 저희가 위에서 배운 LSP를 위배할 수 밖에 없습니다. 왜냐하면 상속을 쓰다보면 정말 어쩔 수 없이 보모에 행위를 위해하면 리크코프 원칙을 위배하게되기 때문입니다. | ||
|
||
<br> | ||
|
||
물론 LSP를 모두 지키려고 한다면 비효율적이고 너무 자주 위반하게 된다면 예상치 못한 안정성을 해치게됩니다. 때문에 저는 상속을 사용할 때 제가 LSP를 위반하는 것이 아닌지 생각해보아야한다고 생각합니다. | ||
|