ThLee
ThLee의 기록장
ThLee
전체 방문자
오늘
어제
  • 분류 전체보기 (137)
    • 정보처리기사 (13)
    • 알고리즘&문제 (5)
    • 인공지능 (4)
    • 자연어처리(NLP) (6)
    • 파이썬 (24)
    • 앱인벤터 강좌 (21)
    • 리눅스 (4)
    • 프로젝트 (1)
    • (App)톡분석AI (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 앱인벤터 무료
  • 파이썬 넘파이
  • AI
  • 앱인벤터 블로그
  • 인공지능
  • 앱인벤터 강좌
  • 정보처리기사 실기 정리
  • 파이썬
  • 판다스
  • Python
  • 딥러닝
  • 넘파이
  • 앱인벤터
  • 블로그
  • 정보처리기사 실기
  • 블록코딩
  • 정보처리기사
  • 정보처리기사 정리
  • 어플
  • 정처기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ThLee

ThLee의 기록장

[파이썬] OOP 객체 지향 프로그래밍
파이썬

[파이썬] OOP 객체 지향 프로그래밍

2022. 4. 18. 10:18
728x90

파이썬 공부를 하면서 OOP라는 단어를 처음 들었다. 이게 뭐지..? 

 

객체 지향 프로그래밍이라고 했다. 이건 들어봤다. 정보처리기사 공부를 하거나, 자바로 앱을 만들 때 들어보았다. 

 

하지만, 나는 지금도 OOP가 뭔지 구체적으로 설명을 못한다. (그냥 느낌으로만 알고 있...다..?)

 

그래서 OOP에 대해서 블로그를 쓰면서 공부를 해볼 것이다. 


객체 지향 프로그래밍(OOP)

OOP는 프로그램 설계방법론이자 일종의 개념이다. 

단순히 프로그램을 데이터와 처리 방법으로 나눈 것이 아닌, 프로그램을 "객체(Object)"라는 기본 단위로 나누고, 이들간의 상호작용하는 방식이다. 객체란, 하나의 역할을 수행하는 "메소드와 변수(데이터)"의 묶음이다.

 

구성 요소

  • 클래스(Class)
  • 객체(Object)
  • 메서드, 메시지(Method, Message)

클래스(Class)는 문제 해결을 위한 집단이며, 속성(attribute), 행위(Behavior)를 정의한 것이다. 또한, 외부 요소와 독립적으로 디자인하여야 한다.

객체(Object)는 클래스의 인스턴스(실제 메모리에 할당되는 것)이다. 객체는 고유의 속성을 가지며 클래스에서 정의한 행위를 수행한다. 

메서드(Method), 메시지(Message)는 객체에 명령을 내리는 메시지이다. 메서드는 객체의 서브루틴 형태로 객체의 속성을 조작하는 데 사용된다. 즉, 객체 간의 통신은 메시지를 통해 이루어진다. 


이해를 돕기 위한 예제

나는 프로그래밍 공부를 하면서 정의만 써져있는 설명은 읽어도, 이해를 못한다. 모든 프로그래밍의 시작과 끝은 이진수(0,1)이기 때문에 개념과 실행 과정은 결국 머리 속에서 시각화를 해야한다. 그래서 예제를 봐야지만 이해가 간다. 

 

(틀릴수는 있어요)

class Bus:

	# 속성
    번호 = 5100
    연비 = 10
    속도 = 80
    
    # 메서드(행위)
   	def 감속하다(self):
    	return Bus.속도 - 10
        
    def 가속하다(self):
    	return Bus.속도 + 10
        
Bus1 = Bus()

print("감속 : {}".format(Bus1.감속하다()))
>>> 감속 : 70

print("연비 : {}".format(Bus1.연비))
>>> 연비 : 10
728x90

'파이썬' 카테고리의 다른 글

[파이썬] 판다스 캐글 타이타닉 데이터 불러와 맛만 보기  (0) 2022.04.19
[파이썬] 판다스(Pandas) 메서드 실습  (0) 2022.04.18
[파이썬] 넘파이(Numpy) 메서드 실습  (0) 2022.04.15
[파이썬] 판다스(Pandas) 란  (0) 2022.04.15
[파이썬] 넘파이(Numpy) 란  (0) 2022.04.15
    '파이썬' 카테고리의 다른 글
    • [파이썬] 판다스 캐글 타이타닉 데이터 불러와 맛만 보기
    • [파이썬] 판다스(Pandas) 메서드 실습
    • [파이썬] 넘파이(Numpy) 메서드 실습
    • [파이썬] 판다스(Pandas) 란
    ThLee
    ThLee
    # 포트폴리오 https://thleewave.notion.site/ThLee-1fef9e057dbf40d5b7b851ab0abccf36?pvs=4 #Github - https://github.com/git-ThLee #IoT 스타트업 -Full-stack -2021.01~2021.07 -사용기술 : fluterr, arduino, node.js #코딩학원 강사 - 2019.11 ~ 진행중 - 언어 : python, 블록 코딩 - 플랫

    티스토리툴바