내가 한 노력들

2020-10-06 Python 과 Ruby 객체 지향 프로그래밍 본문

IT 공부/python

2020-10-06 Python 과 Ruby 객체 지향 프로그래밍

JONGI-N CHOI 2020. 10. 6. 16:01

객체 지향 프로그래밍(Object oriented programming)

 

object는 class 와 instance로 구성되어있다.

 

class 는 그룹  instance는 구성요소라고 생각하면 된다. 

 

포유류는 class에 해당하고 , 인간 , 강아지, 고양이 등은 instance에 해당한다.

 

 

module과 비슷한 역할이 class다  일종의 수납공간 그룹핑

 

하지만 module과는 다르게 함수뿐만아니라 연관되어있는 변수를 담는 그릇이다. 

 

연관되어있는 함수와 변수를 그룹핑한 것이 class다 

 

class를 복제해서 instance를 만든다. 

하나의 class를 만들면 그 것을 복제한 여러개의 instance를 만들 수 있다. 

각각의 instance들은 class 와 똑같은 함수와 변수를 가지고 있다. 

 

instance는 무엇인가??

instance 마다 함수는 같지만 , 변수의 내용은 달라질 수 있다. 

 

 

사실은 name = 'egoing'에서 egoing이라는 문자열이 객체라고 한다.

 

 

name = String.new('egoing')을 하면  name='egoing' 과 똑같은 결과

거기서 String 이 class이고 String.new(egoing')은 String이라는 class를 복제한 instance이다. 

그 instance는 name이라는 변수에 담긴다. 

 

name1 과 name2라는  instance를 만들었다.  각각의 instance 안에는 어떤 변수를 가졌는지는 모르지만 , 변수를 가지고 있고, 그 변수안에는 name은 egoing이라는 값을 가지고 있고 name2는 k8805라는 값을 가지고 있다. 

 

 

 

 

 

 

name1의 인스턴트에 저장되어있는 egoing 값을 reverse()라는 함수가 값을 뒤짚어주는 것

 

 

사진 출처 

<YOUTUBE채널 - 생활코딩>

www.youtube.com/watch?v=Gh1aKbbxa9s&list=PLuHgQVnccGMA0lO0qip6Phh6UL73TS0es&index=70&ab_channel=%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9