객체 지향 프로그래밍 OOP [ TIL ]

2023. 6. 28. 18:08TIL&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

 

창시자 앨런 케이가 말하는, 객체 지향 프로그래밍의 본질

앨런 케이는 '객체 지향 프로그래밍'이라는 네이밍을 잘못 지었다고 인정했다.

velog.io

 

'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