EEALL@ONCE

🔦OOP (객체지향 프로그래밍) 이란.. 본문

분류없음지식🔦

🔦OOP (객체지향 프로그래밍) 이란..

올엣원스 2023. 12. 21. 12:58
728x90

  • 그림에는 서로 다른 특성을 가진 여러 건물들이 있습니다. 각 건물은 객체지향 프로그래밍의 다양한 개념을 나타냅니다.
    • 캡슐화 (Encapsulation): 예를 들어, 한 건물이 '캡슐화'를 나타냅니다. 이는 건물이 자신의 내부를 숨기고 특정 인터페이스를 통해서만 상호작용을 허용한다는 것을 의미합니다.
    • 상속 (Inheritance): 다른 건물은 '상속'을 나타냅니다. 이는 한 건물(클래스)이 다른 건물(클래스)의 특성을 물려받을 수 있다는 것을 의미합니다.
    • 다형성 (Polymorphism): 또 다른 건물은 '다형성'을 상징합니다. 이는 건물(객체)이 여러 형태를 가질 수 있음을 나타냅니다. 즉, 동일한 인터페이스를 사용하여 다양한 방식으로 동작할 수 있습니다.
    • 추상화 (Abstraction): 마지막 건물은 '추상화'를 상징합니다. 이는 복잡한 내용을 간단한 방식으로 표현하는 것을 의미합니다.
  • 이 건물들은 상호 연결되어 있어, 객체지향 프로그래밍에서 객체들이 어떻게 서로 상호 작용하는지를 보여줍니다.

  • 캡슐화 (Encapsulation): 첫 번째 그림에서는 색깔이 화려한 집과 울타리가 보입니다. 이는 데이터를 숨기고 필요한 정보만을 노출하는 것을 상징합니다. 울타리는 집의 내부 세부사항을 숨기며, 외부에서는 제한된 접근만 가능하게 합니다.
  • 상속 (Inheritance): 두 번째 그림은 비슷한 집들이 연속되어 있고, 각 집은 점점 커지며 추가적인 특징들을 갖추고 있습니다. 이는 한 집(클래스)이 다른 집(클래스)으로부터 속성을 상속받는 것을 나타냅니다.
  • 다형성 (Polymorphism): 세 번째 그림은 다양한 유형의 건물들(집, 학교, 상점 등)을 보여주지만, 모두 같은 우편함을 공유하고 있습니다. 이는 다양한 형태의 객체가 같은 인터페이스를 공유할 수 있음을 의미합니다.
  • 추상화 (Abstraction): 네 번째 그림은 복잡한 기계(예: 자동차)의 단순화된 그림입니다. 이 그림은 기계의 기본 윤곽과 필수 부분만을 보여주며, 복잡한 세부사항은 생략합니다. 이는 복잡한 시스템을 간단하고 필수적인 부분으로만 나타내는 추상화의 개념을 보여줍니다.

  1. 캡슐화 (Encapsulation):
    • 생각해보세요, 당신의 개인 일기장이 있다고 합니다. 이 일기장에는 중요한 비밀이 담겨 있지만, 당신만이 그것을 볼 수 있습니다. 캡슐화는 프로그래밍에서 이와 같습니다. 중요한 데이터는 숨겨져 있고, 필요한 경우에만 특정한 방법(함수)을 통해 접근할 수 있습니다.
  2. 상속 (Inheritance):
    • 당신이 부모님으로부터 물려받은 무언가가 있다고 생각해보세요, 예를 들어 특정한 색깔의 눈이나 머리카락. 프로그래밍에서 상속은 비슷한 개념입니다. 한 클래스(부모)의 특성이나 기능이 다른 클래스(자식)에게 전달됩니다.
  3. 다형성 (Polymorphism):
    • 예를 들어, 색칠하기 책에서 같은 색칠 도구(브러시)를 사용하여 여러 가지 다른 그림(고양이, 개, 나무)을 색칠할 수 있습니다. 다형성은 이와 같은 것으로, 같은 함수나 메서드가 다양한 형태의 객체에서 서로 다른 방식으로 동작할 수 있습니다.
  4. 추상화 (Abstraction):
    • 당신이 자동차를 운전할 때, 엔진이 어떻게 작동하는지 정확히 알 필요는 없습니다. 당신은 단지 운전대와 페달을 사용하면 됩니다. 추상화는 이와 같은 것으로, 복잡한 세부 사항을 숨기고 사용자에게 중요한 정보만을 제공합니다.
728x90