본문 바로가기

전체 글204

[파이썬] DAY6 다형성 1. 다형성 오버라이딩 다형성 : 다양한 형태를 갖는 성질 동일한 동작을 다르게 동작하도록 한다. 메소드 오버라이딩(Method Overriding) 메소드 무시하기 부모(슈퍼) 클래스의 메소드를 무력화 한다. 항상 자식(서브) 클래스에 오버라이딩한 메소드가 실행되도록 보장된다. 오버라이딩 조건 같은 메소드를 호출한다. 부모 클래스 메소드의 원형(메소드 이름, 인자 타입 및 개수) 동일하게 작성해야 한다. 2. 연산자 오버로딩 교재 476p 오버로딩은 다른 함수(+ 연산의 함수가 달라진다. int 덧셈 연산자가 아닌 object 덧셈 연산자로 작요한다.) 오버라이딩은 같은 함수(다른 내용이지만 같은 함수로 동작한다.) 파이썬에서 같은 이름 , 같은 매개변수를 쓰면 같은 함수가 되므로 오버로딩은 없다. 따.. 2022. 1. 21.
[파이썬 ] DAY6 상속 관계 3가지 집합관계 사용관계 상속관계 1. 상속 * 상속을 쓰는 이유부모 클래스를 재사용해서 자식 클래스를 빨리 개발 가능하다. 부모의 멤버를 수정하면 상속된 자식들도 자동적으로 바뀌므로 유지보수가 변하다.객체 다형성 구현이 가능해진다. 현실 세계처럼 자식은 부모가 가지고 있는 멤버를 물려받는다. 현실과 달리 자식은 물려받은 멤버를 선택할 수 있다. new(cls) 는 다루지 않을 거임. 클래스 초기화 자식 객체를 만들면 자동으로 부모가 생성된다.(new(cls)) 자식의 객체를 만들면 부모의 생성자(init(self))는 동작하지 않는다. ↓ 2/8 까지 파이썬할 것임 Numpy 다룰 것임(기능 + 쓰임) SLAM ROS 할 때 수학적 접근 안 할 것임. 그래도 선형대수학 공부하자 (트랜스포즈, 역행.. 2022. 1. 21.
[파이썬] DAY6 복습 인스턴스 : 클래스에서 만들어진 객체 다음주는 쓰레드 관련한 것들, 멀티쓰레드 https://dojang.io/mod/page/view.php?id=2427 파이썬 코딩 도장: 42.1 데코레이터 만들기 Unit 42. 데코레이터 사용하기 파이썬은 데코레이터(decorator)라는 기능을 제공합니다. 데코레이터는 장식하다, 꾸미다라는 뜻의 decorate에 er(or)을 붙인 말인데 장식하는 도구 정도로 설명할 수 있습 dojang.io @classmethod 는 무엇일까 데코레이터 함수(메서드)를 장식한다는 의미로 기본 서식을 준다. 시작점이 클래스인지 클래스 필드인지 다르다. 이론적으로는 클래스는 정적할당이라고 가정하지만(공부하기 쉽기 위해서) 실제로는 클래스도 또 다른 객체이므로 동적할당이다. 은닉.. 2022. 1. 21.
[파이썬] DAY5 코딩확인 문제 20번 점검 7가지 정보를 하나의 객체가 가지고 있어야 한다. -> 인스턴스 필드 1. 클래스로 문제풀기 class Car_data: def __init__(self,이름="", 엔진가격=0, 타이어가격=0, 옵션유무="", 옵션이름="", 최고속도=0): self.이름 = 이름 self.엔진가격 = 엔진가격 self.타이어가격 = 타이어가격 self.옵션유무 = 옵션유무 self.옵션이름 = 옵션이름 self.최고속도 = 최고속도 self.구매가격 = 엔진가격 + 타이어가격 c1 = Car_data() # 차 한대의 정보를 담은 객체 c1.이름 = "자동차" c1.엔진가격 = 400 c1.타이어가격 = 100 c1.옵션유무 = "있음" c1.옵션이름 = "썬루프" c1.최고속도 = 300 c1.구매가격 = c1.엔.. 2022. 1. 20.
[파이썬] DAY5 클래스 클래스: 객체 만들려고 존재한다. 객체의 아이덴티티는 동적 할당된 이름이 없는 변수이므로 주소로 구분한다. 이름은 두 개 인데 객체는 하나인 경우를 설명한다. 클래스 : 붕어빵 틀 객체 : 붕어빵 필드 : 붕어빵 속 앙금 객체는 이름이 없다. 리스트, 딕셔너리의 기본 호출법은 즉 클래스를 호출하여 list 객체를 만드는 과정이다. : int라는 클래스로 만든 객체임을 의미한다. 1. 클래스로 인스턴스 생성하기 객체를 아직 찍어내지 않았는데도 데이터가 나온다. 용어 정리 cls: 클래스를 지칭하는 약어로 해당 클래스를 지칭한다. self: 자기 자신, A라는 클래스로 만들어진 인스턴스를 지칭한다. 인스턴스 메소드: 인스턴스 안에 있다. 인스턴스가 생성되어도 접근할 수 없으면 쓸 수 없다. 올바른 호출 2... 2022. 1. 20.
[파이썬] DAY5 객체 지향론 * 객체지향을 사용하는 이유 코드의 재사용성이 높고 코드의 관리가 쉬워진다.(상속이라는 개념이 있기 때문에 통합 관리가 쉬워졌다.) 1) 소프트웨어의 생산성 향상: 기 작성된 코드를 재사용할 수 있으므로 생명 주기 단축 문제를 해결해준다. 2) 실세계에 대한 쉬운 모델링: 과거 수학 계산, 통계 처리 등 순서대로 풀어야 하는 알고리즘 뿐 아니라 실세계의 객체를 중심으로 하는 객체 지향 언어가 세계를 모델링하기 쉬워졌다. 3) 부품별로 나눠져있기 때문에 오류가 나도 부분만 고치면 된다. 객체지향의 4대 성질 캡슐화(은닉성) 상속성 다형성 추상화 cf) 객체는 인스턴스랑 같다. 객체는 인스턴스와 다르다. 둘 다 맞는 표현 객체 지향 특징 1) 객체들의 상호작용이 중요 서로 데이터를 주고 받는다. 객체가 가지.. 2022. 1. 20.
[파이썬] DAY3 그 동안의 개념으로 문제 풀어보기 다음 수업 메모리 영역 2022. 1. 20.
[알고리즘 문제풀이] 14. 뒤집은 소수★ 2022. 1. 20.
[파이썬] DAY4 메모리 메모리 관리의 주체는 운영체제이다. 메모리 공간이 남아 있으면 메모리는 데이터에게 메모리를 할당해준다. 응용 프로그램이 할당된 메모리를 해체하지 않는 한 운영체제는 쓰고 있는 메모리를 할당해주지 않는다. 예) 독서실 자리 같이 할당 1. 4가지 메모리 영역 위 3가지는 컴파일 할 때 만들어진다. 코드영역 스택영역 데이터 영역 = 스태틱 영역: 프로그램이 끝날 때까지 지워지지 않는다, IMMUTABLE 객체를 넣는다. 힙 영역: 동적 메모리 할당, 컴파일이 실행될 때 만들어진다. 컴파일 실행 때 코드, 스택, 데이터 영역이 만들어진다. 힙 영역은 컴파일 실행 후에 런타임 때 만들어진다. 고정 코드 데이터 가변영역 힙 영역: 내려가는 방향 스택 영역: 올라가는 방향 힙과 스택은 서로 오버플로우 관계이다. (.. 2022. 1. 19.