2023. 5. 26. 17:02ㆍeducation/kdt: ds&de
절차 지향형 프로그래밍 언어: C
객체 지형형 프로그래밍 언어: Python
object oriented programming (OPP)
-> 기능별로 객체를 나누어서 만들자
object = 클래스를 갖고 메모리에 구현한 구현체
class: 객체 만드는 설계도
memory: (ram은 실시간으로 썼다 지우는 메모리, 실행되는 공간의 크기)
웹- 자바// 데이터-파이썬
파이썬의 모든것은 객체로 이루어짐
<OPP의 특징>
기본적으로 설계도가 있기 때문에 설계도를 기반으로 만들어 내기 좋음
조금씩 고치면 다른데에 활용해서 쓰면 됨.
단점: 설계도가 무조건 있어야됨. 계속 상속받아야 함. 따라서 파생되는게 너무 많이 생길 수 있음.
요즘에는, 함수형 프로그램으로 패러다임이 바뀌고 있음
- 추상화: 공통적인 개념을 묶은 것
- 상속: 미리 만들어 놓은 것을 가지고 새로 만드는 것
- 다형성: 추상화된 공통개념을 활용해서 다양하게 만들 수 있음.
- 캡슐화: 코드가 은닉되어 보안이 좋음
__??__
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 |