I'm Electronic Engineer :)

[Do it] 점프 투 파이썬 - 05일차 본문

Study code & programming/Python

[Do it] 점프 투 파이썬 - 05일차

Lu175 2019. 8. 5. 23:31

 

 

 

05일차.pdf
0.25MB

 

 

 

1. 기본 내용

 

 

공부 날짜: 201985()

 

 

 

2. 스터디 내용

 

 

공부 범위:

 

1장 파이썬이란 무엇인가?

2장 파이썬 프로그래밍의 기초, 자료형

3장 프로그램의 구조를 쌓는다! 제어문

4장 프로그램의 입력과 출력은 어떻게 해야 할까?

5장 파이썬 날개 달기

6장 파이썬 프로그래밍, 어떻게 시작해야 할까?

7장 정규 표현식

 

 

공부 내용:

 

5-1     클래스

 

--- C언어에는 Class가 없다.

 

--- Class는 프로그래밍에 있어 필수 요소는 아니지만 적절히 사용하면 큰 이득을 얻을 수 있다.

 

--- 클래스(Class)와 객체(Object)

 

           Class는 똑같은 무언가를 계속해서 만들어 낼 수 있는 설계 도면이고,

           객체는 Class로 만들어낸 피조물이다.

 

           객체 각각은 고유한 성격을 가진다.

 

--- 인스턴스

 

           인스턴스는 객체가 어떤 클래스의 객체인지 관계 위주로 말할 때 사용하는 용어이다.

 

           Calculator는 클래스이다.

           cal1, cal2는 객체이다.

           cal1, cal2Calculator의 인스턴스이다.

 

--- 클래스로 만든 객체를 중심으로 어떻게 동작되는가를 먼저 구상한 후 하나씩 구현하면서 만들어가면 좋다.

 

--- 메서드 (Method)

 

           클래스 내부의 함수를 부르는 용어

 

 

--- 사칙 연산을 가능하게 하는 FourCal 클래스 만들기

 

           메서드를 호출하는 방법1 (객체.메서드 형태)

           호출 시 self에 전달할 인수를 생략한다.

 

           메서드를 호출하는 방법2 (클래스.메서드 형태)

           호출 시 self에 객체의 이름을 전달한다.

 

           사칙 연산 메서드 작성

           객체 변수를 이용해서 작성한다

 

--- 객체 변수

 

           객체에서 생성되는 객체만의 변수

 

--- 생성자 (Constructor)

 

           생성자는 __init__ 메서드를 이용해서 만든다.

           객체가 생성되는 시점에서 자동으로 __init__ 메서드가 호출된다.

 

           생성자를 사용해서 객체 변수의 초기값을 설정해주는 것이 안전하다.

           (위에서는 setData 메서드를 사용했었다.)

 

           __init__ 메서드에서 객체 변수를 만든다면

           그 변수의 값을 클래스 호출 시 인수로 전달해줘야 오류가 발생하지 않는다.

 

--- 클래스의 상속 (Inheritance)

          

           [ class 클래스 이름 ( 상속할 클래스 이름 ) ]

 

           클래스를 만들 때 다른 클래스의 기능을 물려받는 것이다.


           (상속 받은 클래스의 모든 기능을 사용할 수 있다.)

 

--- 클래스를 상속받는 이유

 

           기존 클래스를 유지하면서 클래스의 기능을 추가하거나 변경하려고 할 때 사용한다.


           (아래는 FourCal 클래스를 상속받아 거듭제곱 기능을 추가했다.)

 

           기존 클래스가 라이브러리로 제공되거나 수정이 허용되지 않을 때 사용한다.

 

--- 메서드 오버라이딩 (Overriding)

 

           부모 클래스(상속한 클래스)에 있는 메서드를 동일한 이름으로 다시 만드는 것

 

           사칙 연산에서 0으로 나누는 연산을 하면 ZeroDivisionError가 발생한다.

           0으로 나눌 때 에러가 아닌 0을 반환하고 싶을 때 메서드 오버라이딩을 한다.


--- 나 혼자 코딩! (p204)

 

--- 클래스 변수

 

           클래스에 선언한 변수로 이 클래스로 만든 모든 객체에 공유된다.

           (공유: 모두 같은 메모리 주소를 갖는다.)

 

 

 

3. 스터디 후기

 

 

스터디 도중 발생한 문제, 어려웠던 점을 어떻게 해결했는지?

X

 

 

간단한 소감

매번 이름만 들었던 클래스에 대해서 공부했다.

어서 5장을 끝내고 날개를 달아보고싶다.

 

 

다음 스터디 예정일

201986()