[Python] 객체지향프로그래밍(1) - 클래스, 객체 그리고 인스턴스..

휴먼시아·2024년 8월 13일

Python

목록 보기
1/2
post-thumbnail

💻 객체 지향 프로그래밍

객체 지향 프로그래밍이란 말 그대로 객체를 우선으로 생각해서 프로그래밍 한다는 의미입니다. python을 포함해 대부분의 프로그래밍 언어는 객체 지향 프로그래밍 언어 입니다. 그중에서도 클래스를 기반으로 하고 있습니다.
이게 무슨말이냐고요..? 저도 너무 어려워서 차근차근 정리해보려고 합니다^^

우선 클래스, 객체 그리고 인스턴스에 대해 알아봅시다.


🎈 클래스(class)

클래스(class) 란 틀이라고 생각하면 쉽습니다. 객체를 만들고 정의하기 위한 변수와 메소드의 집합이죠.(메소드는 다음에 정리하겠습니다..)

🎈 객체(object)

객체(object)란 속성을 가질 수 있는 모든 대상을 말합니다. 프로그램에서 저장되는 모든 데이터라고 할 수 있죠. 클래스를 사용하여 사용자 정의 객체를 만들 수도 있습니다.

와플을 예시로 들어보겠습니다!
와플을 만들기 위해선 틀이 필요하겠죠? 그 틀을 클래스라고 생각하면 됩니다. 그리고 그 틀로 만들어 낸 와플을 객체라고 생각하면 되겠습니다.

객체는 서로 영향을 끼치지 않습니다. 마치 우리가 와플을 여러 개 만들고 하나를 먹어버린다고 해도 다른 와플에는 영향을 끼치지 않는 것 처럼 말이죠.

🎈 인스턴스(instance)

그럼 인스턴스란 뭘까요?
인스턴스(instance)란 예시라고 생각하면 되는데, 클래스를 기반으로 만들어진 객체를 인스턴스라고 부릅니다.


🏹python에서 활용하기🐲

📍 클래스 선언하기

python에서 클래스를 선언하는 방법은 다음과 같습니다.

class 클래스이름:
	클래스내용   

# 클래스 이름은 각 단어의 첫 글자를 대문자로 합니다.
# 이렇게 지어야 이를 보고 클래스라고 구분하기 쉽습니다.

📍 객체 인스턴스화

다음은 객체를 인스턴스화 하는 방법 입니다.

객체 = 클래스이름() 
# 객체가 어떤 클래스를 기반으로 만들어졌는지 보여줍니다.

📍 예제

간단한 예시를 들어보겠습니다.

class Dog(): 
    pass

poodle = Dog() 

poddle은 객체(object) 입니다.
동시에 poddle 객체(object)는 Dog 클래스(class)의 인스턴스(instance) 입니다.
즉 인스턴스는 클래스와 객체의 관계를 설명할 때 사용된다고 생각하면 되겠습니다.

인스턴스(instance)라는 표현은 주로 특정 객체가 어떤 클래스의 객체인지 관계를 중점으로 표현할 때 사용합니다.
아까 와플을 예시로 들어보면 와플 틀로 만든 초코 와플을 인스턴스라고 할 수 있겠죠?


🧾 정리

클래스 기반의 객체 지향 프로그래밍 언어는 클래스(class)를 기반으로 객체(object)를 만들고 객체를 우선으로 생각해서 프로그래밍 하는 것을 말합니다. 인스턴스(instance)는 어떤 클래스로부터 생성된 객체이며 주로 클래스와 객체의 관계를 설명할 때 사용됩니다.



글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.

#내맘대로TIL챌린지 #교보DTS #클라우드교육 #글로벌소프트웨어캠퍼스 #GSC신촌

profile
코(딩)찔찔이 성장기

8개의 댓글

comment-user-thumbnail
2024년 8월 13일

퍼가요 퍼가요~~

1개의 답글
comment-user-thumbnail
2024년 8월 13일

쏙쏙 이해되었읍미다.
(태그는 제목 밑에 입력하는 곳이 있는데)

1개의 답글
comment-user-thumbnail
2024년 8월 13일

펜이에요

1개의 답글
comment-user-thumbnail
2024년 8월 20일

와플 맛있죠

1개의 답글