Ming's blog

파이썬기초2_4. 클래스와 인스턴스 본문

프로그래밍 기본 문법/Python

파이썬기초2_4. 클래스와 인스턴스

H._.ming 2020. 6. 25. 22:53
반응형

1. 객체지향 프로그래밍

- 프로그램이 객체와 객체의 상호작용이라면?

- 객체(Object) : 성질할 수 있는 행동이 담긴 자료

2. 클래스와 인스턴스

(1) 클래스(Class)

- 객체를 만들 수 있는 틀

1) 클래스 생성

class 클래스이름: 

2) 필드(field)

- 객체가 가지고있는 성질 = 변수

3) 메서드(method)

- 객체가 할 수 있는 행동 = 함수

4) self

- 메서드라면 가져야하는 첫 번째 매개변수

 

Q : 왜 self가 필요할까요?

A : self는 객체 자신을 의미하며, 메서드가 호출될 때 self 자리에 객체 자신을 인자에 넣습니다.

class Friend: #친구라는 클래스 생성
	name='' #이름  #필드 생성
    age=0 #나이
    
    def activity(self):#메서드
		print("영화보기")    

(2) 인스턴스(Instance)

- 객체를 만드는 틀(클래스)로 만든 객체

1) 인스턴스의 생성

인스턴스 이름 = 클래스 이름()

 2) 인스턴스의 변수와 메서드

인스턴스.field/method 형태로 사용

Nari=Friend() # 인스턴스 생성
Nari.name='Nari' # 변수 생성
Nari.age=20
Nari.activity() #영화보기

3. 왜 객체지향 프로그래밍인가?

- 기존의 코딩스타일로는 표현할 수 없었던 상황을 표현 가능

- 상속, 다형성, 캡슐화를 통해 코드의 재사용이 쉽고 우리 실생활을 더 잘 나타낼 수 있음

1) 상속 

- 한 클래스의 속성을 다른 클래스가 이어받는 것

class subject:   #class 생성
    name=""
    def grade(self):
        return ""
class Statistics(subject): #상속
    namee="Linear regression"
    def grade(self):
        return "A"
regression=Statistics() #인스턴스

2) 다형성 

- 같은 이름의 코드다양한 역할을 하는 것

- 같은 변수지만 class마다 가지는 값이 다름

- 같은 이름으로 각 객체의 값을 관리할 수 있음

반응형
Comments