파이썬 객체지향 연습(1)
1. 두 함수의 차이는?
def print_string(data):
print (data)
print_string("Fun Coding 객체지향 프로그래밍")
Fun Coding 객체지향 프로그래밍
string = "객체지향 프로그래밍" # 문자열 관련 설계도 있음 - 해당 설계도 기반 문자열1 객체가 만들어짐
string.split() # 해당 문자열1 객체가 가지고 있는 split 메서드 호출(method)
['객체지향', '프로그래밍']
2. 객체지향 프로그래밍(Object Oriented Programming)
절차지향과 객체지향 프로그래밍
-
절차지향 프로그래밍
-
1990년대 이전 언어는 대부분 절차지향 프로그래밍
- 대표적인 언어: 파스칼, 코볼, 포트란, C언어등
-
예: 냉장고에 코끼리2를 넣는다.
-
data = 1
print(data) #절차적으로 순서대로 실행된다. 절차지향 프로그래밍
1
-
코끼리라는 사물의 기능, 정보에 대한 설계도를 만든다.
-
이 설계도를 기반으로 코끼리1 객체를 만듭니다.
-
냉장고라는 사물의 기능, 정보에 대한 설계도를 만든다.
-
이 설계도를 기반으로 냉장고1 객체를 만듭니다.
-
코끼리1 의 객체의 기능을 호출해서, 냉장고1 의 객체의 문을 연다.
-
코끼리1 의 객체의 기능을 호출해서, 냉장고1 의 객체안으로 들어간다.
-
냉장고1 의 객체의 기능을 호출해서, 냉장고1 의 객체의 문을 닫는다.
-
해당 사물을 나타낼 수 있는 설계도를 만든다. (class)
-
해당 사물의 설계도를 기반으로 사물1 객체를 만든다. (object)
-
사물1 객체의 기능을 호출한다.
-
attribute: 사물1 객체의 변수
-
method: 사물1 객체의 함수
-
사물1객체의이름.method이름(인자)
객체지향 프로그래밍 언어: JAVA, C++
파이썬: 객체지향(내부), 객체지향 문법(지원)
-
객체지향 프로그래밍
- 객체(object) 단위로 데이터와 기능(함수)를 하나로 묶어서 쓰는 언어
객체지향 프로그래밍 핵심 (class와 object)
class 란? == 예) 자동차 설계도
-
속성(attribute)와 동작(method)을 갖는 데이터 타입
-
속성(attribute)는 변수와 유사
-
동작(method)는 함수와 유사
정리: class(설계도), object(객체), attribute(변수), method(함수)
object 란? == 예) 실제 각 자동차
-
선언된 클래스를 기반으로 만들어진 실체 (객체(object) 또는 인스턴스(instance)라고 함)
-
하나의 클래스 설계도를 기반으로 수많은 객체 생성이 가능함
객체지향 프로그램 작성 방법
-
클래스 설계 (attribute와 method 구성)
-
설계한 클래스를 기반으로 클래스를 코드로 작성
-
클래스를 기반으로 필요한 객체 생성
-
해당 객체의 attribute와 method를 조작하여 프로그램 수행