본문 바로가기
Python/Python_basic

클래스/객체지향

by Mr.DonyStark 2023. 12. 11.

□ 절차지향과 객체지향 프로그래밍
  ○ 절차지향 프로그래밍 : 1990년대 이전 언어는 대부분 절차지향 프로그래밍
     -  파스칼, 코블, 포트란, C언어 등
     -  ex) 냉장고에 코끼리를 넣는다
        냉장고 문을 연다
        코끼리를 냉장고에 넣는다
        냉장고 문을 닫는다
  ○ 객체지향 프로그래밍

     -  class : 해당 사물을 나타낼수 있는 설계도를 만듬
     -  object : 해당 사물의 설계도로를 기반으로 사물객체를 만듬(객체의 속성/변수과 함수정의)
     -  attribute, method : 사물 객체의 기능을 호출 (attribute : 사물 객체의 변수 / method : 사물 객체의 함수)

     -  ex) 코끼리라는 사물의 기능, 정보관련 설계도를 만듬

              만들어진 설계도 기반으로 코끼리 객체 만듬
              냉장고라는 사물의 기능, 정보관련 설계도를 만듬
              만들어진 설계도 기반으로 냉장고 객체 만듬
              코키리 객체의 기능을 호출해서, 냉장고 객체의 문을 연다
              코키끼 객체의 기능을 호출해서, 냉장고 객체안으로 들어감
              냉장고 객체의 기능을 호출해서, 냉장고 객체 문을 닫음

     - 형태

       class 클래스명:
           attribute 선언 
           method 선언

       *attribute, method 순서는 상관없음

     -  위와 같은 객체지향 프로그래밍 언어 : JAVA, C++
     -  파이썬 : 객체지향(내부내장), 객체지향 문법(지원)

#1. 클래스 지정
class Quad:
    #객체변수/속성(attribute) 지정
    name = 'Qurd'
    height = 0
    width = 0
    color = ''
    #객체함수(method) 지정
    #인자가필요없다면 self로 지정
    def get_area(self):
        return self.height * self.width

    def get_name(self, argument1, argument2):
        return self.name

#2. 객체 지정 및 생성
#객체1
class_quad1 = Quad()
class_quad1.name = '파랑사각형'
class_quad1.height = 10
class_quad1.width = 10
class_quad1.color = 'blue'

#객체2
class_quad2 = Quad()
class_quad2.name = '빨강사각형'
class_quad2.height = 20
class_quad2.width = 20
class_quad1.color = 'red'

#3. 객체 기능 호출
#객체1
print(f'객체 1 함수호출 : {class_quad1.get_area()}\t객체 2 함수호출 : {class_quad2.get_area()}')
print(f'객체 1 함수호출 : {class_quad1.get_name(1,2)}\t객체 2 함수호출 : {class_quad2.get_name(2,3)}')

'Python > Python_basic' 카테고리의 다른 글

Python DB 연동(MySql, Oracle)  (1) 2024.01.15
라이브러리 호출 및 활용  (0) 2023.12.11
함수 정의/호출 예제  (1) 2023.12.08
반복문+데이터 구조 예제 2  (2) 2023.12.08
반복문+데이터 구조 예제 1  (1) 2023.12.05