開発者概念の装着 - プログラミング開発に必要な必須概念と核心理論の整理
codingpe
実装に追われて疎かにしがちだったプログラミングの必須概念や理論を、正確に理解できるよう導きます。類似した概念、対立する概念、関連する概念を併せて学ぶことで、一度に複数の概念を効率よく習得でき、この講座を受講した後は、確かな基礎知識を備えた開発者になれるでしょう。
入門
Architecture, Computer Architecture, Tech Interview
オブジェクト指向の本質をしっかりとお伝えします。 クラス、オブジェクト、self、super()、インターフェースのような用語や文法を知っているからといって、オブジェクト指向を理解しているとは言えません。 オブジェクト指向は単純な文法の集合ではなく、複雑化するソフトウェアの問題をどのように解決するかについての一つの思想であり、その背景となる歴史と哲学を理解してこそ、初めて正しく使いこなすことができます。 この講義では、オブジェクト指向がどのような問題を解決するために誕生したのか、そしてその中に込められた思考方式と設計哲学が何なのかを、言語に依存せずにまず説明します。 その次に、Pythonをツールとして、オブジェクト指向の概念が実際のコードではどのように設計され実装されるのかを、一歩一歩実習を通じて扱います。 文法をなぞるだけのオブジェクト指向ではなく、考えて設計できるオブジェクト指向、そして言語が変わっても揺るがないオブジェクト指向思考力を、この講義を通じて得ることができます。
学習した受講者のレビュー
5.0
이채현
今まで聞いたオブジェクト指向の講義の中で一番簡潔で理解しやすいです ㅜㅜ ありがとうございます!
5.0
smkweon98
今回大学院に入学する非専門の学生です。 もちろん大学でオブジェクト指向プログラミングを受講はしましたが、 正直その時はあまりピンときていませんでした。 ですが、この講義を通じてオブジェクト指向プログラミングについて非常に明確な概念を習得することができました。 最後の実践プロジェクトも楽しく実習することができました!
5.0
catwalk
普段からオブジェクト指向プログラミングを実践しているつもりでしたが、改めて基本概念を固め、自分自身を振り返る良い時間となりました。ありがとうございます :)
オブジェクト指向の本質を正しく理解することができます。
Pythonを利用してオブジェクト指向設計と実装ができます。
変更に強く、保守性の高い優れたソフトウェアを設計できます
Class、コンストラクタ、init、self、super()、getter/setter、Interface...
このような用語や文法を知っているからといって、果たしてオブジェクト指向を正しく理解していると言えるでしょうか?
オブジェクト指向の本質は、このような文法や用語自体にあるわけではありません。オブジェクト指向は問題を見る観点であり思考方式であり、その究極的な目的は変更に強いソフトウェアを作ることです。
この点を正確に理解し共感してこそ、初めてオブジェクト指向らしく設計し、オブジェクト指向らしく開発することができます。
この講義は単に特定の言語の文法を説明する講義ではありません。オブジェクト指向がなぜ誕生したのか、どんな問題を解決するために登場したのかをその歴史的背景から振り返り、手続き型との比較を通じてオブジェクト指向の本質を明確に理解することに集中します。
また、クラスとオブジェクト、オブジェクト間の関係を皮切りに、抽象化、カプセル化、継承、ポリモーフィズムというオブジェクト指向の4大核心要素とSOLID設計原則を含む主要なオブジェクト指向の概念と理論を深く扱います。
これにより特定の言語に依存しないオブジェクト指向設計能力と思考力、そして実際の開発に適用できる堅固なオブジェクト指向の基盤を身につけられるよう案内します。
そして、この講義は理論だけで終わりません。
前で学んだオブジェクト指向の概念と設計原則をPythonを通じて実際のコードで実装してみる実習過程を一緒に提供します。
クラスとオブジェクトを単に作るだけでなく、なぜこのような構造になったのか、どの責任をどのオブジェクトが持つべきか、そして変更が発生した時にコードをどのように柔軟に拡張できるかを一つ一つ直接実装しながら体得することになります。
Pythonの文法を用いて、抽象化、カプセル化、継承、ポリモーフィズムといったオブジェクト指向の概念が実際のコードではどのような形で表現されるのか、それがどのような設計的意味を持つのかを、実習を通じて自然に理解できるように構成しました。
これにより受講生は、オブジェクト指向を理解するレベルを超えて、自ら設計し実装できる段階まで到達できるようになります。
Pythonの文法は知っているけれど、オブジェクト指向設計の原理は漠然と感じられますか?
クラス、継承、多態性が実際の複雑なソフトウェア問題解決にどのように適用されるのか気になりませんか?
複雑に絡み合ったコードを見てメンテナンスに苦労した経験はありませんか?
オブジェクト指向の本質を理解することは、より良いソフトウェア設計の始まりです。
この講義を通じてオブジェクト指向をしっかり理解し、これを実務に適用できるオブジェクト指向の専門家として成長することができます。
単純な文法学習を超えた「考えるオブジェクト指向」へ!!!
変更に柔軟でメンテナンス性の高いSWを作れる「オブジェクト指向設計のエキスパート」へと成長しましょう。
オブジェクト指向の本質を正しく理解できるようになります。
クラス、オブジェクト、継承などの用語を知っているレベルを超えて、オブジェクト指向がなぜ誕生し、どのような問題を解決するための思考方式なのか、歴史的・哲学的背景まで明確に理解できるようになります。単に文法を暗記するのではなく、オブジェクト指向の核心思想を把握し、どの言語でも揺るがない思考力を身につけます。
Pythonを活用してオブジェクト指向の設計及び実装能力を身につけます。
講義で扱うオブジェクト指向の概念が、Pythonコードでどのように具体的に設計され実装されるのかを、実習を通じて一歩ずつ身につけます。単にコードを書き写すのではなく、自らオブジェクト指向的に考え設計し、実際のコードに落とし込む能力を養うことができます。
変更に柔軟で保守性の高いソフトウェアを設計できるようになります。
オブジェクト指向の核心原理である抽象化、カプセル化、継承、ポリモーフィズム、SOLID原則などを深く理解し、実際の設計に適用する方法を学びます。これを通じて、変化する要求仕様にも柔軟に対応し、長い時間が経っても容易に拡張できる堅牢なソフトウェアを設計する開発者として成長することができます。
コーダーを超えたアーキテクトの力量を身につけます。
単に機能を実装する開発者を超えて、システム全体を俯瞰し最適な構造を設計するアーキテクトになりたい開発者に最適な講義です。オブジェクト指向的な思考方式と設計原則をしっかりと固め、複雑な問題を解決し、より良いソフトウェアを作るコア人材へと飛躍できる基盤を築きます。
本講義は単純な文法の羅列を超えて、オブジェクト指向思想を理解し、根本的な問題解決プロセスと思考方式を深く扱います。クラス、オブジェクト、抽象化、カプセル化、継承、ポリモーフィズム、SOLID原則などのオブジェクト指向概念を正確に理解し、オブジェクト指向をどのように設計し実装するのかを段階的に学習し、特定の言語に限定されないオブジェクト指向思考力を養います。
Pythonで手続き型コードをオブジェクト指向にリファクタリングし、クラスとオブジェクト、継承、カプセル化、ポリモーフィズムを直接実装する実習を行います。`self`、`__init__`、`super()`、`__`(double underscore)、`@property`などPythonのオブジェクト指向関連の文法をしっかり身につけることができます。
理論と実習をもとに、「テキストRPGゲーム」という実践プロジェクトを通じて、オブジェクト指向設計と実装能力を総合的に向上させます。設計からキャラクター、戦闘、アイテムシステムの実装まで、Pythonを利用して完成したゲームを作りながら、オブジェクト指向プログラミングの強力さを体感できます。
オブジェクト指向の概念は知っているが、うまく活用できず、コードのメンテナンスに苦労している開発者
単純な文法羅列式の学習に疲れ、
オブジェクト指向の本当の意味と設計哲学をPythonを通じて実装とともに学びたい開発者
システムを単に実装することを超えて、構造と責任を設計し、変更に強いソフトウェアを作ることができる設計力を身につけたい開発者
実習環境
オペレーティングシステム:Windows、macOS、Linuxすべてに対応しています。
Pythonのインストールが必要です(バージョンは特に問いません。)
VS Codeなどの統合開発環境(IDE)の使用を推奨します。
事前知識および注意事項
Pythonの基礎的な使い方だけ知っていれば大丈夫です。
オブジェクト指向プログラミングに関する事前知識がなくても大丈夫です。
整数、実数、文字列などの基本的なデータ型を扱えることが必要です。
学習資料
実習サンプルコードは各講義の授業ノートを通じて共有されます。
追加参考資料は講義内容の中でご案内いたします。
学習対象は
誰でしょう?
オブジェクト指向をしっかりマスターしたい開発者
コーダーを超えてアーキテクトを目指す開発者
良い品質のSWを設計したい開発者
Pythonを使ってオブジェクト指向プログラムを作りたい開発者
前提知識、
必要でしょうか?
Python基本文法
インフラン認証
キャリア認証
1,262
受講生
58
受講レビュー
21
回答
5.0
講座評価
4
講座
体系的な理論を兼ね備え + 20年以上の実務経験 + トップティアのライセンスを保有
大手ゲーム会社、大手通信キャリア系列、スタートアップなどでの開発リーダー/アーキテクト
ウェブ、Windows、ゲーム、自動化、データ分析など、多様なアプリケーション開発
開発チーム(メイン)、データベースチーム、インフラチームなどのマネジメント
社内公認講師
コンピューター工学修士
(学位論文)値幅制限拡大後の小標本IPOの上場日始値予測のためのLoRAベースTabPFNファインチューニング
執筆および寄稿
技術士(情報管理)/ 情報システム主席監理員
ISMS-P認証審査員 / SWセキュリティ脆弱性診断員
データ品質認証審査員(DQC-V)
Microsoft MVP(C#部門) / MCAD
PMP / OCP9i
Inflearnのデベロッパーの皆様と共に成長していきます。
勉強しているすべての開発者の皆さん、ファイトです!^^
全体
21件 ∙ (4時間 14分)
講座資料(こうぎしりょう):
全体
20件
5.0
20件の受講レビュー
受講レビュー 2
∙
平均評価 5.0
5
今まで聞いたオブジェクト指向の講義の中で一番簡潔で理解しやすいです ㅜㅜ ありがとうございます!
絶賛のお言葉を😊。良く言ってくださって本当にありがとうございます〜
受講レビュー 2
∙
平均評価 5.0
5
講義だけでなく、YouTubeの動画を見ながら人生を歩む態度についても、たくさん参考にさせていただいています。ありがとうございます。
こんにちは。講義をご視聴いただき、温かい評価まで残してくださり、誠にありがとうございます。私もより一層励んでまいります。😊
受講レビュー 49
∙
平均評価 5.0
受講レビュー 9
∙
平均評価 4.9
5
今回大学院に入学する非専門の学生です。 もちろん大学でオブジェクト指向プログラミングを受講はしましたが、 正直その時はあまりピンときていませんでした。 ですが、この講義を通じてオブジェクト指向プログラミングについて非常に明確な概念を習得することができました。 最後の実践プロジェクトも楽しく実習することができました!
非専門家でいらっしゃいながら大学院まで…そして古風なテーマの私の講義まで…学究心が素晴らしい方のようですね😊。講義評価もとても良くしてくださって…本当にありがとうございます。大学院に行かれて、望むことをぜひ成し遂げられるよう願っています👍
受講レビュー 23
∙
平均評価 5.0
修正済み
5
分かりやすく説明してくれます。 ふと、スポーツでレジェンド選手の真価を表現する言葉が…(笑) 「簡単そうに見えるなら、その選手が本当に上手だということだ」 入門者には本当に良い講座です。
貴重な講義評価をありがとうございます。高く評価していただき、さらに感謝いたします 😊
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!