Python으로 생산성있는 개발만 아니라 견고하고 안전하게, 그리고 확장성있는 개발을 하세요! 🔥
이런 걸
배워요!
객체지향 프로그래밍의 원칙
객체지향 프로그래밍에 대한 이해
Python에서 모든 것은 객체이다
Python으로 객체지향 프로그래밍을 하는 방법
typing을 사용하여 안전하고 견고하게 Python 사용하기
딥러닝, 웹 개발에서 객체지향 프로그래밍을 적용하는 법
객체지향 프로그래밍과 타이핑으로 견고하고 안전한 파이썬 코드를 작성하세요.
절차 지향 프로그래밍에서는 코드 수정 시 하나하나 찾아 수정해야 하고 수정할 부분을 잊어버리기 쉽지만, 객체 지향 프로그래밍에서는 수정해야 할 부분이 모듈화되어 있으므로 해당 모듈을 찾아서 쉽고 빠르게 수정이 가능합니다. 즉 유지보수가 쉽다는 것이죠. 또한 객체 지향 프로그래밍 원칙에 따라 추상화, 캡슐화가 된 클래스는 다른 개발자가 해당 클래스 내부 로직에 대한 깊은 이해 없이 쉽게 가져와서 사용할 수 있고 상속을 통해 확장하여 사용할 수 있습니다.
파이썬으로 딥러닝, 머신러닝, 데이터 과학 애플리케이션을 구현하거나 연구할 때, 코드의 의미 분석과 파리미터 및 모델을 바꾸어 가면서 대조 코드를 작성하는 경우가 많습니다. 이때 해당 코드를 절차 지향 프로그래밍으로 작성하면 코드 정리가 안되어 생산성이 떨어집니다. 이러한 코드를 실제 연구 상황과 의미적으로 가깝게 객체 지향 프로그래밍으로 작성하면 가독성 있고 생산성 높은 코드로 작성할 수 있습니다.
파이썬으로 웹 개발을 할 때 django, flask, fastapi 등 프레임워크를 사용하게 됩니다. 이 경우 1번의 이유로 객체 지향 프로그래밍을 적용하여 견고한 소프트웨어 제품을 만들 수 있습니다. 이러한 이유로 객체 지향 프로그래밍은 안정성을 보장하는 상업용 대형 소프트웨어 제품을 개발할 때 정말 많이 쓰이는 기법입니다. 따라서 파이썬을 통해 하나의 애플리케이션을 만든다면 객체 지향 프로그래밍 개념은 필수죠.
높은 생산성과 안정성을 자랑하는 객체지향 프로그래밍!
파이썬을 통해 완벽하게 학습해 보세요.
객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발이나 안정성이 요구되는 개발에 많이 사용되고 있습니다. 뿐만 아니라 개발과 보수가 간편하며, 보다 직관적인 코드 분석을 가능하게 하는 장점이 있습니다.
Python이라는 직관적인 개발 도구와 객체지향 프로그래밍의 조합은 개발의 효율성과 직관성을 모두 불러올 수 있을 것입니다.
객체지향 프로그래밍 입문자
OOP의 개념이
무엇인지 알고 싶은 분
타입 사용자
안전하고 견고하게
파이썬을 활용하시고 싶은 분
class 문법이 어려우신 분
조건문, 함수, 변수는 아는데 class를 사용할 줄 모르는 분
실무자
머신러닝, 웹 개발 등
OOP를 실무에
적용하고 싶은 분
객체지향 프로그래밍이란 실제 세상에 가깝게 모델링하여 코드의 재사용성, 유지보수 우수성, 생산성을 증대시키는 코딩 기법입니다. 실제 우수한 소프트웨어 제품들이 객체지향을 지키며 만들어져 왔습니다.
객체지향 프로그래밍이란 무엇인지 이해하고 OOP 원칙에 따라 Robot 설계도를 만들면서 실제로 적용을 어떻게 해야 하는지 알려드립니다. 이 과정으로 안전하고 확장성 있는, 견고한 코드를 작성하게 될 것입니다. 뿐만 아니라 실제 프레임워크나 라이브러리를 사용하여 의미 있는 것을 개발할 때 어떻게 적용이 되는지 보여드립니다.
단순히 class만 사용하는 것은 객체지향 프로그래밍이 아닙니다. OOP 기본 원칙을 지키며 class를 사용하는 방법을 알려드립니다. 이를 위해 기본적인 데코레이터 사용법을 익히는 것부터 시작합니다. 그리고 OOP 원칙인 캡슐화, 은닉화, 상속, 다형성, 컴포지션 등 하나하나 직접 코드로 같이 치면서 이해하게 됩니다. 마지막으로 컴퓨터 공학의 가장 기본이 되는 자료구조인 Stack과 Queue를 객체지향 프로그래밍을 사용하여 만들어 보면서 실제 적용까지 할 수 있습니다.
쉽고 간결한 문법과 타입핑이 없는 파이썬으로 개발할 경우 더 적은 코드로 더 많은 작업을 수행할 수 있으며, 덕분에 엄청난 생산력을 자랑합니다. 하지만 타이핑이 없는 파이썬으로 대규모 소프트웨어를 개발할 때는 코드 복잡도가 올라가면서 유지보수가 어려워지고 협업이 힘들어집니다. 이를 위해 파이썬에서는 Type Hint를 제공하기 시작했습니다. 이미 떠오르고 있는 웹 개발 프레임워크인 FastAPI 또한 Type Hint를 사용하여 개발하도록 권장하고 있습니다. Type Hint를 효과적으로 사용하는 하는 방법에 대해 알아봅니다. 또한 mypy와 pyright 패키지를 통해 타입 힌팅을 넘어 실제 코드 실행 전 타입을 검사하도록 하는 방법을 알려드립니다.
지식 공유에 그치지 않고 배운 것들이 실제로 어떻게 적용되는 지를 알려드립니다. 먼저 배운 것을 토대로 가장 기초가 되는 자료구조인 Linked List 기반의 Stack을 직접 개발해봅니다. 그라고 실제 학술계에서 사용되는 딥러닝 코드와 웹 개발에서 객체지향 프로그래밍이 어떻게 적용되는 지를 알려드립니다.
학습 대상은
누구일까요?
객체지향 프로그래밍이 무엇인지 알고 싶은 분
Python에서 올바르게 객체지향 프로그래밍을 하는 방법
typing을 사용하여 안전하고 견고하게 Python을 사용하고 싶은 분
타입이 없는 Python이 답답하신 분
Python에서 반복문, 조건문, 함수, 변수는 아는데 class를 사용할 줄 모르는 분
머신러닝, 딥러닝, 데이터 과학, 웹 개발에서 객체지향 프로그래밍을 적용하고 싶은 분
선수 지식,
필요할까요?
python 입문 지식 (변수, 조건문, 반복문, 함수)
안녕하세요. IT 지식 크리에이터, 윤상석입니다. 🎩
더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.
- (주)하이퍼이지 대표이사
- (사)한국정보통신네트워크협회 AI분과기술위원
- (주)블루밴드 기술이사
- 前 (주)마로마브 웹 개발자
- 前 소프트웨어 엔지니어 기술 용역 (카카오, 포스코DX, )
- 前 소프트웨어 공학 온/오프라인 교육 다수 (스타트업, GS리테일, 삼성 등)
문의사항, 추가질문, 집필, 강의제안 ==> EndUpFree@gmail.com
전체
40개 ∙ (5시간 43분)
OT
03:28
파이썬 class 문법 정리
13:03
@staticmethod 이해
02:43
self와 cls의 이해
11:26
파이썬에서 모든 것은 객체이다. !!
11:07
다형성 (polymorphism)
03:22
컴포지션 (composition)
05:53
Callable Types
07:12
Class Types
03:10
Union Types
03:41
Optional Types
02:25
Class Types 보충
08:39
Final Types
02:25
Type Alias
08:05