파이썬/개념

[알기쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH10. 객체 지향: 클래스와 객체

2024. 12. 14. 22:58
728x90

Section 01. 객체 지향의 개요

 

1. 객체지향의 개념

 객체 지향(Object-oriented)이란 객체를 중심으로 모든 것을 기술한다는 의미이다. 컴퓨터가 개발된 초개의 프로그래밍 언어는 순서에 의해 수행되는 절차 지향 언어(procedure-oriented language)가 대부분이었다. 절차 지향 언언어들은 여러 단점 중에서 한 번 작성된 기능을 하나의 프로그램에서만 사용할 수밖에 없다는 치명적인 단점이 있었다. 그러한 단점은 소프트웨어의 생산성을 저하시키는 요인이 되었다.

 객체 지향 프로그래밍에서는 모든 요소들을 객체로 모델링하며, 이러한 객체를 연결하여 프로그래밍이 이루어진다. 한 번 만들어진 객체는 다양한 프로그램에서 재사용될 수 있어 소프트웨어의 생산성을 높일 수 있다.

 객체 지향 프로그램에서는 모든 것이 객체로 설계되며, 이러한 객체들이 메시지를 주고받으면서 프로그래밍이 진행된다. 객체 지향 프로그래밍은 일상생활과 같은 방식의 프로그래밍으로 이해하면 된다.

 

 

 

2. 클래스와 객체

 객체 지향에서 클래스(class)는 객체를 생성할 수 있는 틀(template) 역할을 한다. 한 번 만들어진 클래스로부터 객체는 원하는 만큼 될 수 있다.

 객체 지향에서 데이터를 처리하는 데 사용되는 것은 클래스로부터 생성된 객체이지 클래스가 아니라는 점이다. 클래스는 객체를 생성하는 역할 만 수행한다.

 

 

 

 

 


 

 

 

 

 

Section 02. 파이썬에서의 객체 지향

 

 파이썬은 모든 것을 객체로 취급한다.

 

 

 

1. 클래스 구조

class 클래스이름:
    def __init__(self, 매개변수들): # 새성자 메소드, '_'는 두 개 작성
        ···
        ···
    
    def 메소드이름(self, 매개변수들): # 일반 메소드
        ···
        ···

 

속성: 클래스(객체) 속성)을 생성하기 위해 메소드의 첫 번째 매개변수로 self를 지정하여 생성
기능(메소드): 파이썬에서 메소드는 생성자 메소드와 일반 메소드로 구분
 - 생성자 메소드: 객체를 생성할 때 자동으로 수행되는 메소드. 주로 객체의 초기화를 위해 사용.
 - 일반 메소드: 일반적인 객체의 기능을 정의하는 메소드.

 

 

 

2. 메소드와 속성

 클래스 내에 def를 사용하여 메소드를 정의하고, 클래스(객체)의 속성을 정의한다. 파이썬에서는 모든 메소드의 첫 번째 매개변수를 self로 취급한다.

 

 

 

3. 생성자 메소드

 생성자 메소드는 클래스로부터 객체가 생성될 때 자동으로 수행되는 특수한 메소드로써 __init__라는 이름을 가지는 메소드이다. 이 메소드는 주로 객체가 생성될 때 초기화 역할을 수행하는 데 사용된다.