객체지향프로그램이란
객체지향 프로그래밍 정의:
객체지향 프로그래밍 (Obgected-Oriented Programming, OOP):
컴퓨터 프로그래밍 = ~~명령어의 목록~~ -> '객체'들의 모임
장점:
- 각각의 객체들끼리 메시지를 주고 받고 데이터를 처리할 수 있다. -> 프로그램을 유연하고 변경이 용이
- 소프트웨어 개발 및 보수가 간편하다
- 직관적인 코드 분석을 가능하게 한다.
구성요소:
객체지향 프로그래밍 (Obgected-Oriented Programming, OOP):
컴퓨터 프로그래밍 = ~~명령어의 목록~~ -> '객체'들의 모임
- 클래스(Class)
- 객체(Object)≒ 클래스 (클래스의 인스턴스, 즉 메모리상에 할당된 것)
- 메서드(Method)≒오퍼레이션(기능), 메시지(Message)
- 속성(attribute)≒ 변수(variables)
객체지향 원리 4가지
추상화(Abstraction):
객체 표현에 핵심적 필요사항(속성, 메서드)에만 집중하고 그 외에 대해서는 생략
- 간결성(simplicity), 표현성(expressiveness)
- 동일한 객체도 문제 상황에 따라 추상화 관점이 달라짐
캡슐화(Encapsulation):
객체의 속성과 메서드를 외부에 공개할 것과 공개하지 않을 것을 지정하여 객체 구성요소를 보호
- 중요한 데이터나 행위요소는 외부로부터의 접근을 막아 데이터나 오퍼레이션에 대한 손상을 방지
- __ (underbar 2개)를 속성 명 앞에 붙여서 캡슐화를 시킨다.
import random
class Die:
def __init__(self):
self.__faceValue = random.randint(1,6)
상속성(Inheritance):
기존의 개발된 클래스를 이용하여 새로운 클래스를 정의할 수 있게 한다.
- 클래스간의 'is-a'관계를 표현
- 코드의 재사용성과 확장성을 높임
다형성(Polymorphism):
같은 클래스로부터 상속을 받는 하위 클래스들의 서로 다른 모습을 표현
- 동일한 회부적인 특징을 가지는 객체들이 서로 다른 내부 구조를 가지는 것을 처리하기 위한 개념
Author And Source
이 문제에 관하여(객체지향프로그램이란), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@aza425/객체지향프로그램이란
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
추상화(Abstraction):
객체 표현에 핵심적 필요사항(속성, 메서드)에만 집중하고 그 외에 대해서는 생략
- 간결성(simplicity), 표현성(expressiveness)
- 동일한 객체도 문제 상황에 따라 추상화 관점이 달라짐
캡슐화(Encapsulation):
객체의 속성과 메서드를 외부에 공개할 것과 공개하지 않을 것을 지정하여 객체 구성요소를 보호
- 중요한 데이터나 행위요소는 외부로부터의 접근을 막아 데이터나 오퍼레이션에 대한 손상을 방지
- __ (underbar 2개)를 속성 명 앞에 붙여서 캡슐화를 시킨다.
import random class Die: def __init__(self): self.__faceValue = random.randint(1,6)
상속성(Inheritance):
기존의 개발된 클래스를 이용하여 새로운 클래스를 정의할 수 있게 한다.
- 클래스간의 'is-a'관계를 표현
- 코드의 재사용성과 확장성을 높임
다형성(Polymorphism):
같은 클래스로부터 상속을 받는 하위 클래스들의 서로 다른 모습을 표현
- 동일한 회부적인 특징을 가지는 객체들이 서로 다른 내부 구조를 가지는 것을 처리하기 위한 개념
Author And Source
이 문제에 관하여(객체지향프로그램이란), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@aza425/객체지향프로그램이란저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)