2023. 6. 28. 18:08ㆍTIL&WIL/TIL
Problem
node.js 관련 프로젝트 코드를 보던 중 class 를 통해 작성하는 것을 많이 보았다.
객체 지향(OOP)이라는 키워드를 알게 되었고 알아보기로 했다.
객체 지향의 특징들을 알아보자.
Try
검색하며 조사하다 보니 OOP 의 개념이 정말 많고, 하루아침에 잘 알게되거나 하는 부분이 아닌걸로 보였다.
그래서 간단한 개념과, 왜 객체지향을 사용하는지에 대해 알아보았다.
Solve
객체 지향은 좋은 코드를 짜기 위한 방법이다.
이 좋은 코드는 변경하기 쉽고, 이해하기 쉬운 코드.
쉽게 유지보수가 가능하고 다른 개발자, 나중에 내가 봐도 이해하고 버그를 찾아낼 수 있는 코드이다.
구조화, 추상화
좋은 코드를 쓰려면 나누고 묶어야하는데 복잡한 프로그램을 작은 단위로 나누고 묶어서 정리해야한다. ex) 북마크 나누기
즉 객체 지향은 코드를 정리하는 방법 중 하나이다.
왜 써야할까?
좋은 코드를 써야하고, 변경하기 쉬워야 하며, 코드를 구조화하고 정리해야하고 객체 지향은 이를 하기에 효과적인 방법이기 때문
간단한 개념
1. 자료 추상화
자료 추상화는 불필요한 정보는 숨기고 정보만을 표한함으로서 프로그램을 간단히 만드는 것
2. 상속
상속은 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능
3. 다형성
다양한 형태를 가질 수 있다.
어떤 한 요소에 여러 개념을 넣어 놓는 것
4. 캡슐화
캡슐화는 클래스 안에 관련 메서드, 변수 등을 하나로 묶어준다. 이 때문에 바깥에서의 접근을 막아 보안이 강화되고 잘 관리되는 코드를 제공한다.
What I Learned
봐도봐도 이해가 안되던게 객체 지향의 개념이었다.
왜 객체지향을 사용하지? 로 접근해서 찾아보니 그쪽이 이해가 편했던 것 같다.
변경하기 쉽고 이해하기 쉬운 코드, 객체 지향을 프로그래밍 하면서 상기할 수 있을것 같다.
딱딱한 개념을 이해안되게 계속 읽는 것 보다 이렇게 질문으로 접근해 답을 얻는 것이 기억에 남는것 같다.
개발자에게 "왜?" 는 정말 중요한 것같다.
앞으로 개념에 대해서 공부할 때 "왜?" 를 기억하며 학습을 이어나가야겠다.
https://velog.io/@eddy_song/alan-kay-OOP
'TIL&WIL > TIL' 카테고리의 다른 글
package.json [ TIL ] (0) | 2023.07.02 |
---|---|
HTTP [ TIL ] (0) | 2023.07.01 |
토큰과 캐시 [ TIL ] (0) | 2023.06.27 |
쿠키와 세션 [ TIL ] (0) | 2023.06.27 |
RESTful API [ TIL ] (0) | 2023.06.25 |