Day 5

2023. 5. 26. 17:02education/kdt: ds&de

절차 지향형 프로그래밍 언어: C

객체 지형형 프로그래밍 언어: Python

object oriented programming (OPP)

-> 기능별로 객체를 나누어서 만들자

object = 클래스를 갖고 메모리에 구현한 구현체

class: 객체 만드는 설계도

memory:  (ram은 실시간으로 썼다 지우는 메모리, 실행되는 공간의 크기)

웹- 자바// 데이터-파이썬

파이썬의 모든것은 객체로 이루어짐

 

<OPP의 특징>

기본적으로 설계도가 있기 때문에 설계도를 기반으로 만들어 내기 좋음

조금씩 고치면 다른데에 활용해서 쓰면 됨. 

단점: 설계도가 무조건 있어야됨. 계속 상속받아야 함. 따라서 파생되는게 너무 많이 생길 수 있음. 

요즘에는, 함수형 프로그램으로 패러다임이 바뀌고 있음

  1. 추상화: 공통적인 개념을 묶은 것 
  2. 상속: 미리 만들어 놓은 것을 가지고 새로 만드는 것
  3. 다형성: 추상화된 공통개념을 활용해서 다양하게 만들 수 있음. 
  4. 캡슐화: 코드가 은닉되어 보안이 좋음

 

__??__

special method/ magic method

 

method와 함수의 차이는?

-> 거의 비슷한 의미인데 

class에 종속되어있으면 method.. 독립적이면 함수임. 

 

class변수와 instance변수의 차이

class는 클래스내 객체 모두 공통으로 가짐 (클래스변수를 바꾸려면 클래스타입에서 바꾸도록 설정)

instance는 이

 

day5 후기

눈물날 것 같지만 아니나 다를까 

안구건조증으로 눈물 안남 껄껄 

 

요약

OOP

object: class memory (=instance)

class: 설계도

           속성: variable(class변수, instance 변수)

           기능: function, method

 

__init__: 객체생성 시점에 인스턴스 변수 초기화

__str__: 객체를 표현하는데 이쁘게 표현 (주소값생략)

self: 나 객체 자신

 

 

snake표기법 -> 변수이름

ex) kang_in 

camel표기법 -> class이름

ex) KangIn

 

__str__로 호출하면 객체명과 주소는 생략되고 값만 나옴!

리스트, 딕셔너리, 셋 등이 값만 나오는 이유는 호출할때 __str__로 불러오기 떄문

 

__변수: 외부에서 못건들임 와 getter/setter (method): 외부에서 건들임

하지만 내가 원하는대로 명령문을 넣어 제어가 가능함!

(*참고: 일반 인스턴스나 클래스 함수에는 이상한 값까지 다 접근할 수 있어서 문제가 생길 수 있음)

 

'education > kdt: ds&de' 카테고리의 다른 글

Week 3.3 맥북 git/github 연동  (1) 2023.06.07
Week 2.1~2.2  (0) 2023.05.31
Day 4  (0) 2023.05.25
Day 2  (0) 2023.05.24
[멀티잇] start! Day 1  (0) 2023.05.22