java - 객체지향 프로그래밍

잠자는 고양이·2025년 5월 6일
0

Java

목록 보기
44/73

💡 프로그래밍 패러다임


🔧 절차지향 프로그래밍

  • 순차적인 처리가 중심이 되는 프로그래밍 방식입니다.
  • 문제를 일련의 절차(프로시저)로 나누어 해결합니다.
  • 대표 언어: C, FORTRAN, COBOL, Pascal, Basic

✅ 장점

  • 프로그램 흐름 파악이 용이
  • 초보자에게 이해하기 쉬움
  • 컴퓨터의 처리 구조와 유사
  • 실행 속도가 빠름

⚠️ 단점

  • 코드 재사용 어려움
  • 유지보수가 어려움
  • 대규모 개발에 부적합
  • 데이터 관리가 복잡

🧱 객체지향 프로그래밍

  • 객체 간 상호작용이 중심이 되는 프로그래밍 방식입니다.
  • 데이터와 메소드가 하나의 객체에 포함되어 있음
  • 대표 언어: Java, Python, Kotlin, C#

✅ 장점

  • 코드 재사용성 높음
  • 유지보수 용이
  • 대규모 프로젝트에 적합
  • 직관적인 구조

⚠️ 단점

  • 실행 속도가 다소 느림
  • 초기 설계/개발 비용이 큼
  • 설계가 어려움
  • 고성능이 필요한 시스템에는 부적합

🧠 객체지향 기본 개념

🧩 클래스 (Class)

  • 객체를 만들기 위한 설계도
  • 속성(Field)과 기능(Method)을 정의
  • 메모리에는 존재하지 않음
  • 🛠 예: 붕어빵 틀

🐟 객체 (Object)

  • 클래스를 바탕으로 만들어진 실체
  • 메모리에 존재하며 각각 독립된 속성을 가짐
  • 🧁 예: 붕어빵 틀로 만든 실제 붕어빵

🎯 속성 (Field)

  • 객체의 데이터나 상태를 나타내는 변수

🔨 메소드 (Method)

  • 객체가 수행할 기능이나 동작을 정의

🔑 객체지향 주요 원칙 (4대 원칙)

🧴 캡슐화 (Encapsulation)

  • 데이터와 기능을 하나로 묶고, 외부 접근을 제한
  • 예: 리모컨, 자판기 — 내부 동작은 숨기고 인터페이스만 제공

👪 상속 (Inheritance)

  • 기존 클래스의 속성과 기능을 물려받는 것
  • 예: 부모 클래스 → 자식 클래스

🌀 다형성 (Polymorphism)

  • 같은 타입이지만, 실행 결과는 다르게 동작할 수 있음
  • 하나의 타입으로 여러 타입의 객체를 다룰 수 있음

🎭 추상화 (Abstraction)

  • 복잡한 것에서 공통적인 특성을 뽑아내어 단순화
  • 본질적인 정보만 표현하고 나머지는 감춤

❓ [문제] 객체지향(OOP)의 주요 원칙을 설명하세요.

  • 객체지향의 4대 원칙은 다음과 같습니다:

    1. 캡슐화
    2. 상속
    3. 다형성
    4. 추상화
  • 각 원칙은 객체지향의 핵심 개념이며, 실제 개발에서 높은 재사용성, 유지보수성, 확장성을 제공합니다.

profile
개발자가 되고 싶은 잠자는고양이

0개의 댓글