Що таке ООП (обʼєктно-орієнтоване програмування)?
ООП — підхід до розробки, за якого програма будується з обʼєктів: кожен обʼєкт зберігає свої дані та вміє виконувати дії над ними. Клас описує, як влаштований обʼєкт, а обʼєкт — це конкретний екземпляр, створений за цим описом.
У підходу чотири опорні принципи. Інкапсуляція ховає внутрішню будову й відкриває назовні лише безпечні операції. Успадкування дозволяє будувати новий клас на основі наявного. Поліморфізм дає різним класам відповідати на той самий виклик по-своєму. Абстракція залишає в інтерфейсі лише те, що важливо ззовні.
Сенс усього цього — керованість. У великій системі зміни мають зачіпати обмежену ділянку коду, а не розходитися хвилею по всьому проєкту. ООП — базова модель у Java, C# і Python, тому питання про нього звучать майже на кожній співбесіді.
Повʼязані терміни
Програмування — це опис задачі мовою, зрозумілою компʼютеру: розробник формулює послідовність кроків і правил, за якими програма обробляє дані та видає результат.
JavaJava — строго типізована обʼєктно-орієнтована мова програмування, якою пишуть корпоративні системи, банківські сервіси, backend великих сайтів та Android-застосунки. Програма компілюється в байт-код і виконується на віртуальній машині JVM.
C#C# — строго типізована обʼєктно-орієнтована мова програмування від Microsoft. Вона працює на платформі .NET — середовищі виконання зі стандартною бібліотекою та інструментами, на якому будують вебсервіси, десктопні застосунки, ігри на Unity та корпоративні системи.
PythonPython — мова програмування з простим, близьким до англійської синтаксисом, яку застосовують в аналізі даних, машинному навчанні, backend-розробці та автоматизації. Вона універсальна й водночас вважається найдоступнішою для першої мови.
FrameworkФреймворк — це готовий каркас застосунку: він задає структуру проєкту, порядок виконання й бере на себе типові задачі, а розробник дописує код у передбачених місцях. Правила гри встановлює фреймворк, а не ви.