객체지향 5

인간에게 가장 친숙한 개념은 결국 OOP

아침에 알렉님이 리액트의 기본 원리를 간략하게 설명해주시는 영상을 보는데 문득 이런 생각이 들었다. 리액트에서는 태그 하나하나를 트리의 요소로 간주하여 오브젝트로 취급한다. 즉 예를 들어서 H1태그가 있다면 이 친구 하나가 하나의 오브젝트가 되는 것이다. 그런데 아 여기서도 모든 걸 오브젝트로 취급하려는 시도를 하는 구나라는 생각이 듬과 동시에 파이썬에서도 오브젝트로 모든 것을 취급하는 것이 생각나면서 어느 공통점이 느껴졌다. 둘다 아주 핫한 기술이다. 파이썬은 말할 필요도 없고, 리액트도 그러하다. 그런데 왜 둘다 오브젝트로써 대상을 표현하는 방법을 사용했을까? 그것이 어떠한 대상을 표현하는데 가장 적합해서일 수도 있고 아니면 사람들이 느끼기에 그냥 오브젝트로써 모든걸 표현하는게 정말 편하게 느껴져서일..

기술 에세이 2021.10.01

[디자인패턴] 헤드퍼스트 디자인패턴 - 스트래티지 패턴

객체지향의 기초에는 추상화 캡슐화 다형성 상속 이 존재한다. 객체지향의 원칙에는 바뀌는 부분은 캡슐화한다. 상속보다는 구성을 활용한다. 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다. 가 있다. 객체지향 패턴 중 스트레티지 패턴은 알고리즘군을 정의하고 각각을 캡슐화하여 바꿔 쓸 수 있게 만든다. 스트패티지 패턴을 이용하면 알고리즘을 활용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. 교재에서 활용한 예제는 다음과 같다. public abstract class Duck { FlyBehavior flyBehavior; QuackBehavior quackBehavior; public Duck(){} public abstract void display(); public void performFly() ..

Java 2021.01.04

[Java] 객체지향 디자인패턴

dailyheumsi.tistory.com/148?category=855210 [디자인 패턴 1편]. 디자인 패턴 개요 1. 디자인 패턴이란 디자인 패턴은 소프트웨어 공학론 안의 좋은 코드를 설계하기 위한 일종의 설계 디자인 방법론이다. 그렇다면 좋은 코드란 무엇인가? 좋은 코드란, 가독성, 간결함 등 여러 dailyheumsi.tistory.com 1편부터 시작해서 정말 잘 나와있다. SOLID 원칙이라는걸 블로그 돌아다니다가 간간히 보기만 했었는데, 이게 객체지향의 5대원칙이라니... 이런것도 모르고 상속,캡슐화,다형성만 알면 끝이라고 생각했다니... 디자인 패턴이 잘 설명되어 있다. jdm.kr/blog/235 프록시 패턴(Proxy Pattern) :: JDM's ..

Java 2021.01.02

[기술서적] 객체지향의 사실과 오해- 조영호 <북리뷰>

자바프로그래밍을 공부하던 중에 너무 따분해서 집어든 책이다. 사실 자료구조와 알고리즘을 자바코드로 공부하다가 뇌에 과부하가 걸려서 잠시 여기로 도피했다. 그런데 좀 편하게 읽으려고 집었는데, 오히려 알고리즘을 생각할 때보다 더 골똘히 생각하는 시간을 가지게 된 것 같다. 앨리스가 나오는 재밌는 책이라고 누누히 들어서 그 명성은 알고 있었다. 객체지향이란 무엇인지에 대해서 잘 설명해주는 책이라고, 아주 많이 들었다. 이제야 읽게 되었는데, 이 책을 읽으면서 어린왕자가 떠올랐다. 어린왕자가 세계적 위치에 서게 된 것은 시간이 지날 수록 나이가 들수록 다시 읽어보면 감회가 새롭다는 것이다. 느껴지는 것도 다르고, 메시지를 다르게 보게 된다는 것이다. 아직 난 나이가 많이 들지 않았고, 아직 경험이 적지만, 이..

반응형