본문 바로가기
반응형

프로그래밍/디자인패턴8

OOP의 기초 객체 지향 프로그래밍(Object Oriented Programming) 간략히 OOP라고도 불리는 객체지향 프로그래밍은 데이터 조각들 및 해당 데이터와 관련된 행동들을 객체라는 특수한 묶음으로 모은다는 개념에 기반한 이론적인 틀 또는 체계이며, 객체들은 클래스라고 하는 프로그래머가 정의한 '청사진'들의 집합으로 구성된다. 오스카라는 고양이가 있다고 가정해 보자. 오스카는 객체이며, Cat 클래스의 인스턴스이다. 각 고양이는 이름, 성별, 나이, 체중, 색깔, 좋아하는 음식 같은 일반적인 속성들을 많이 갖고 있다. 이러한 속성들을 클래스의 필드들이라고 한다. 모든 고양이는 비슷하게 행동한다. 숨을 쉬고, 먹고, 뛰고, 자고, 야옹 소리를 내며 운다. 이것들은 클래스의 매서드들이다. 필드들과 메서드들을 통.. 2024. 4. 19.
객체지향(Object-Oriented Programming, OOP)에 대해서 객체지향의 기초 추상화(Abstraction) 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것만 중점을 두어 개략하는 것(== 모델화) 캡슐화(Encapsulation) 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근을 허용하는 것 각 객체의 수정이 다른 객체에게 주는 영향을 최소화하는 기술 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것 정보은닉, 재사용이 용이 다형성(Polymorphism) 메시지에 의해 객체(클래스)가 연산을 수행할게 될 때 하나의 메시지에 대해 각 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력 객체지향 원칙 바뀌는 부분은 캡슐화한다. 상속보다는 구성을 활용한다. 구현이 아닌 인터페이스에 맞춰 프로그래밍을 한다. 객체지향 .. 2023. 11. 14.