본문 바로가기
파이썬

파이썬 객체

by 조이헬로우 2024. 6. 10.

Python의 객체 지향 프로그래밍은 코드의 재사용성과 유지 보수성을

높이는 강력한 도구입니다.

이번 글에서는 Python에서 객체를 생성하고 출력하고 삭제하는 방법을

예제와 함께 알아보겠습니다.

썸네일
썸네일

목 차

1. 파이썬 객체 생성

2. 파이썬 객체 출력

3. 파이썬 객체 삭제

4. 객체 지향 프로그래밍

 

1. 파이썬 객체 생성

 

Python에서는 클래스를 정의하고 그 클래스를 기반으로 객체를

생성할 수 있습니다. 클래스는 객체의 청사진으로, 객체의 속성과

메서드를 정의합니다. 아래는 간단한 Person 클래스를 정의하고

이를 사용하여 객체를 생성하는 예제입니다.

생성
생성

여기서 Person 클래스는 __init__ 메서드를 사용하여 객체가 생성될

때 이름과 나이를 초기화합니다. person1person2는 각각 다른

이름과 나이를 가진 Person 객체입니다.

 

2. 파이썬 객체 출력

 

객체를 출력하려면 __str__ 또는 __repr__ 메서드를 정의하여 객체를

문자열로 표현할 수 있습니다. __str__은 사용자에게 친숙한 형태로

객체를 표현하는 데 사용되고, __repr__은 객체의 공식적인 문자열

표현을 반환합니다. 아래는 Person 클래스에 __str__ 메서드를 추가한

예제입니다.

출력
출력

__str__ 메서드를 정의하면 print 함수가 호출될 때 객체의 내용을

더 읽기 쉽게 출력할 수 있습니다.

 

 

3. 파이썬 객체 삭제

 

Python에서 객체는 더 이상 사용되지 않을 때 자동으로 삭제됩니다.

하지만 특정 시점에 객체를 명시적으로 삭제하고 싶다면 del 키워드를

사용할 수 있습니다. 이는 주로 객체의 수명을 명시적으로 관리해야

할 때 사용됩니다. 다음은 객체를 삭제하는 예제입니다.

삭제
삭제

위 예제에서 person1 객체를 del 키워드를 사용하여 삭제한

후에는 person1에 접근할 수 없습니다. 삭제된 객체에 접근하려고

하면 NameError가 발생합니다.

 

4. 객체 지향 프로그래밍

 

Python은 객체 지향 프로그래밍(Object-Oriented Programming,

OOP)을 지원하는 다목적 프로그래밍 언어입니다. 객체 지향

프로그래밍은 코드의 재사용성과 유지 보수성을 높이고 복잡한

문제를 보다 쉽게 다룰 수 있도록 해줍니다. 객체 지향

프로그래밍의 핵심 개념과 Python에서 이를 어떻게 구현하는지

간략하게 설명드리겠습니다.

 

4.1 객체 지향 프로그래밍의 핵심 개념

 

클래스와 객체

클래스: 객체의 청사진 또는 템플릿으로, 객체의 속성과

행동(메서드)을 정의합니다.

객체: 클래스로부터 생성된 개별 인스턴스입니다. 객체는

클래스의 속성과 메서드를 상속받아 고유한

데이터를 가질 수 있습니다.

캡슐화

데이터를 외부에서 직접 접근하지 못하도록 하고, 메서드를

통해서만 접근하도록 제한하는 원칙입니다. 이를 통해

데이터의 무결성을 보호할 수 있습니다.

상속

한 클래스가 다른 클래스의 속성과 메서드를 상속받아

재사용하는 기능입니다. 상속을 통해 코드의 재사용성을

높이고 중복을 줄일 수 있습니다.

다형성

같은 이름의 메서드가 다양한 방식으로 동작할 수 있게

하는 원칙입니다. 이는 주로 메서드 오버라이딩을 통해

구현됩니다.

추상화

불필요한 세부 사항을 숨기고 중요한 부분만 드러내는

원칙입니다. 이를 통해 복잡성을 줄이고 코드의 가독성을

높일 수 있습니다.

 

 

이번 글에서는 Python에서 객체를 생성하고 출력하고 삭제하는 방법에

대해 알아보았습니다. 객체 지향 프로그래밍을 사용하면 코드의

구조를 더 명확하게 하고 유지 보수성을 높일 수 있습니다.

다음에는 객체 지향 프로그래밍의 더 심화된 주제들을

다루어보겠습니다.

 

'파이썬' 카테고리의 다른 글

파이썬을 계산기로 사용하기  (31) 2024.06.19
파이썬 객체지향 프로그래밍 가이드  (31) 2024.06.18
파이썬 turtle 모듈 활용하기  (31) 2024.06.07
파이썬 time모듈 활용하기  (31) 2024.05.30
파이썬 time 모듈 배우기  (31) 2024.05.23