728x90
반응형
클래스란?
클래스란 객체를 만들기 위한 설계도와 같은 역할을 한다. 클래스는 객체가 가질 수 있는 속성과 기능을 정의한다.
예를 들어 '사람'이라는 클래스를 정의하면 '이름', '나이', '성'별 등의 속성과 '걷기', '뛰기', '말하기' 등의 기능을 정의할 수 있다.
class Person():
# 속성
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
# 기능
def walk(self):
print('{} walk'.format(self.name))
def run(slef):
print('{} run'.format(self.name))
def speak(self):
print('{} speak'.format(self.name))
인스턴스란?
인스턴스는 클래스를 실체화한 것으로, 클래스에서 정의한 속성과 기능을 실제로 가지고 있는 것. 예를 들어 '사람' 클래스에서 '김철수'라는 인스턴스를 생성하면, 이 인스턴스는 '이름'이 '김철수'이고, '나이'는 '20살'이고, '성별'이 '남성'이라는 속성을 가지고 있으며, '걷기', '뛰기', '말하기' 등의 기능을 수행할 수 있다.
# 인스턴스 생성
kim = Person('김철수', 20, '남')
# 인스턴스의 속성 출력
print(kim.name) # '김철수
print(kim.age) # 20
print(kim.gender) # '남'
# 인스턴스의 기능 호출
kim.walk() # '김철수 is walking.'
kim.run() # '김철수 is running.'
kim.speak() # '김철수 is speaking.'
객체란?
객체는 클래스나 인스턴스를 포괄적으로 말하는 용어로, 데이터와 해당 데이터를 다루는 메서드를 모두 포함한다.
즉, 객체는 데이터와 그 데이터를 처리하기 위한 코드를 하나의 단위로 묶은것이다. '사람' 클래스에서 생성된 '김철수' 인스턴스는 '사람' 클래스의 객체이기도하다.
클래스, 객체, 인스턴스 차이점?
건물을 짓는다고 생각을 해보자.
건축가가 건물을 디자인하고 설계한다. 이것은 '클래스'이다.
설계를 기반으로 건축물을 지었다. 이것은 '인스턴스'이다.
건축을 디자인, 설계, 완공까지의 모든 과정, 즉 건물을 지었다와 같이 포괄적인 개념. 이것이 '객체'이다.
728x90
반응형
'[IT]' 카테고리의 다른 글
크롬 WebDriverAgent 자동 다운로드 (0) | 2023.08.23 |
---|---|
Appium 2.0 설치 (0) | 2023.07.07 |
AppPackage, AppActivity 값 확인 (0) | 2023.03.07 |
git 특정버전 clone하기 (0) | 2023.02.03 |
Windows에 SVN설치 및 Checkout (0) | 2023.02.01 |