• 검색 결과가 없습니다.

클래스와 객체와의 관계

N/A
N/A
Protected

Academic year: 2022

Share "클래스와 객체와의 관계"

Copied!
19
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

파이썬 클래스 이야기

정보통신공학과 박동규

(2)

절차 지향 프로그래밍과 객체 지향 프로그래밍

객체 지향 프로그래밍

! 프로그램을 실제 세상에 가깝게 모델링

! 컴퓨터가 수행하는 작업을 객체들간의 상호 작용으로 표현

! 클래스 혹은 객체들의 집합으로 프로그램 작성

커피 자판기

객체지향적 프로그래밍의 객체들의 상호 관련성

2

(3)

오브젝트란

3

(4)

클래스와 객체와의 관계

4

붕어빵 틀은 클래스이며, 이 틀의 형태로 구워진 붕어빵은 바로 객 체입니다. 붕어빵은 틀의 모양대로 만들어지지만 서로 조금씩 다

릅니다.

치즈붕어빵, 크림붕어빵, 앙코붕어빵 등이 있습니다. 그래도 이들 은 모두 붕어빵입니다.

(5)

클래스와 객체-사례1

5

(6)

클래스와 객체

클래스

! 객체의 속성과 행위 선언

! 객체의 설계도 혹은 틀

객체

! 클래스의 틀로 찍어낸 실체

메모리 공간을 갖는 구체적인 실체

클래스를 구체화한 객체를 인스턴스(instance)라고 부름

객체와 인스턴스는 같은 뜻으로 사용

사례

! 클래스: 소나타자동차, 객체: 출고된 실제 소나타 100대

! 클래스: 벽시계, 객체: 우리집 벽에 걸린 벽시계들

! 클래스: 책상, 객체: 우리가 사용중인 실제 책상들

6

(7)

클래스 구조

7

▪ 클래스를 내부적으로 살펴보면, 두 개의 구성 요소를 가짐 : 속성(자료구조)+메소드(함수)

▪ 클래스 구조의 예

속성(자료 구조)

중심 반지름

메소드(함수)

그리기 지우기 확대하기 축소하기

삼각형

속성(자료 구조)

좌표

메소드(함수)

그리기 지우기 확대하기 축소하기

12.1. 객체와 클래스

(8)

클래스 만들기

공(Ball) 클래스

크기(size)

방향(direction) 색상(color)

bounce() 라는 행동이 가능

클래스의 속성

클래스의 함수(메소드)

(9)

클래스 작성하기

속성과 행동을 가지는 클래스를 만들자 class 라는 예약어를 이용하자

Ball 은 정의할 클래스의 이름이다

Ball 이라는 클래스는 여러가지의 속성(attribute)과 행동(action)을 가진다

(10)

( )

(11)

Let’s code

(12)

객체의 초기화

객체가 처음 만들어질때 타고난 속성값

붉은색의 크기가 ‘small’인 공을 만들고자 함

이를 위해서는 객체의 초기화 메소드가 필요하다

(13)

( )

(14)

클래스

myBall, yourBall 은 Ball 객체이다 - 클래스에서 정의한 일을 할 수 있다

여러 종류의 일을 할 수 있다

- 클래스에서 그 행동(method)를 정의한다

(15)

파이썬은 객체지향 언어

파이썬에는 엄청나게 많은 클래스들이 미리 정의되어 있다

개발자들은 이 클래스들을 이용하여 필요한 객체를 생성하고 이를 조작하여 자기가 원하는 목표를 달성한다

이런 방식의 프로그래밍 기법을 객체지향 언어라고 한다

(16)

Python Standard Library

(17)

모듈과 패키지

모듈은 import 문을 통해서 코드내부로 삽입 될 수 있는 단일 파일 이나 여러 파일들을 말한다

패키지는 패키지 계층구조상의 디렉토리 아래에 있는 모듈들의 모 임이다

(18)

모듈

모듈과 패키지

파일파일

모듈 모듈

패키지

(19)

질문해 주세요??

참조

관련 문서

서로 다른 클래스 객체들 사이의 대입 상속 관계인 객체와 포인터의 관계 가상 함수.. 가상

} 릴레이션 스키마 (RELATION SCHEMA)와 릴레이션 인스턴스(REALTION INSTANCE)로 구성된 서로 다른 이름을 가진 릴레이션 (RELATION)들의 집합..

② 고구려어와 퉁구스어와의 관계 > 신라어와 퉁구스어와의 관계 (고구려어는 퉁구스와 신라어 중간 정도 위치)... 학교문법에서는 이 견해를

생성자와 소멸자의 호출 순서 디폴트 생성자와 디폴트 소멸자 멤버 초기화. 멤버

메소드의 인자 타입과 개수가 달라야 함 메소드 인자 타입과 개수가 동일해야 함 정적 바인딩 , 즉 컴파일 시에 중복된 메. 소드

동양에서는 이렇게 개체 간의 관계 속에서 일어나는 상호작용을 중심으로 생각하기 때문에 동사표현을 많이 쓴다.. ②그러나 사람과 ‘차’가 서로 독립된 개체라고 믿는

• 어떤 객체가 다른 객체에게 어떤 일을 수행하도록 명령하기 위해서 우리는 그 객체에 메시지를

공연을 마치면 공연에 사용한 장비와 물품을 정리해 주시기 바랍니다. 무대 작업을 할 때에는 안전 장비를