파이썬 기초 - 08. 객체지향 프로그래밍

Jin·2022년 5월 6일
0
post-thumbnail

• 객체지향 프로그래밍

앞서 공부한 반복문, 함수, 모듈이 도입된 이유는 효율적인 코드를 위해서이다.

print("hi")		 =		for i in range(5):
print("hi")						print("hi")
print("hi")
print("hi")
print("hi")

-객체

성질과 할 수 있는 행동이 담긴 자료

-클래스 (Class)

객체를 만들 수 있는

-클래스 생성
class 클래스이름:

class Human:

-필드 (Field)

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

class Human:
	name : 'jin'
    age : 24

-메서드 (Method)

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

class Human:
	def study(self):
    	print(“hard!”)
self: 메서드라면 가져야 하는 첫번째 매개변수

-인스턴스 (Instance)

객체를 만들 수 있는 틀(클래스)로 찍어낸 객체

-인스턴스 만들기
인스턴스 이름 = 클래스 이름()

Lee = Human()

-인스턴스의 변수
인스턴스.변수

Lee = Human()
Lee.name #jin
Lee.age #24

-인스턴스의 메서드
인스턴스.메서드()

Lee = Human()
Lee.study() #hard!

-객체지향 프로그래밍의 특징

  1. 추상화 (Abstraction)
  2. 상속 (Inheritance)
  3. 다형성 (polymorphism)
  4. 캡슐화 (Encapsulation)

1. 추상화 (Abstraction)

객체들의 공통적인 특징(기능, 속성)을 도출하는 것
객체지향적 관점에서는 클래스를 정의하는 것을 추상화라고 할 수 있다.

2. 상속 (Inheritance)

하나의 클래스가 가진 특징(함수, 데이터)을 다른 클래스가 그대로 물려받는 것
이미 작성된 클래스를 받아서 새로운 클래스를 생성하는 것

3. 다형성 (polymorphism)

약간 다른 방법으로 동작하는 함수를 동일한 이름으로 호출하는 것
동일한 명령의 해석을 연결된 객체에 의존하는 것

4. 캡슐화 (Encapsulation)

객체가 독립적으로 역할을 할 수 있도록 데이터와 기능을 하나로 묶어 관리하는 것
코드가 묶여있어서 오류가 없어 편리하다.

profile
= 이 진

0개의 댓글