2017-11-10 7 views
0

나는이 질문이 이전에 물어 보았다는 것을 알지만, 나는이 개념을 이해하려고 노력하면서 매우 실망 스럽다. 도와 주시는 모든 분들께 진심으로 감사 드리며, 특정 일에 분명하지 않은지 알려주십시오.OOP에서 객체와 인스턴스의 차이점은 무엇입니까?

저는 흐름 제어를 사용하고 데이터 형식을 조작 할 때 언어 구조를 이해하고 있다고 확신하기 때문에 계속 나아가 파이썬으로 코딩하기 위해 최선을 다했습니다. OOP의 이해를 얻는 것처럼 보입니다.

저는 Object와 Instance의 차이점과 그 두 용어가 프로그램에서 어떻게 호출되는지 이해하려고 많은 연구를 해왔습니다. 내가 아는 한, 그것들은 똑같은 것이지만, 개념을 설명하기 위해 사람들이 정말로 진보 된 용어를 사용하기 시작할 때 나는 정말로 혼란 스럽다. 나는 객체를 인스턴스화하는 것이 클래스의 인스턴스라고 이해하지만, 내가 이해하지 못하는 것은 서로의 우선 순위이다. 예를 들어

:

class MyClass: 
    #Attributes? 
    def __init__(self, name, age): 
     self.name = name 
     self.age = age 

    def happy_birthday(self): 
     return 'You are {}, happy birthday {}.format(self.age, self.name)' 
#someone said that the object is the instance, however, I do not understand that part. 

#Instantiating an object? 
boy1 = MyClass() 

#Is this also an object or an instance if I call the function? 
boy1.happy_birthday() 

I는 부분이 코드에 표시 예를 검색 하였다.

+2

이 질문에 입력 한 내용은 제안 사항으로 표시되어야합니다. 그렇지 않습니까? – wp78de

+1

글쎄, "모든 것이 파이썬에서 객체입니다"라는 구문이 있습니다. 그래서'boy1'은'MyClass'의 인스턴스가되는 객체입니다. – roganjosh

+0

마지막 줄은 아마도 가장 혼란스러운 부분 일 것입니다. 클래스가'Table'이고 우리가'table1 = Table ('mine')'을 작성한다고하자. 여기서 'mine'은 소유를 표시하기 위해 새로운'Table' 오브젝트에 전달할 수있는 문자열입니다. 그래서, 이제 우리는 독특한 테이블을 갖게되었습니다 - 내 방에있는 테이블. 'table2 = 테이블 ('너의 것')'. 커피를 내 테이블에 엎 지르면 ('table1.spill_coffee()'), 너에게도 커피가 흘러 나올까? 그것들은 테이블과 두 개체 다.하지만 내 집에있는 테이블의 인스턴스 인'table1'만이 영향을받습니다. 그리고 내 테이블은 유출 후에도 여전히 같은 물리적 인 물체입니다. 유출로 인해 다시 만들어지지 않았습니다. – roganjosh

답변

-4

개체라는 용어는 일반적으로 클래스의 인스턴스를 말할 때 사용됩니다. 예를 들어 누군가 "코드에서 Car 클래스 개체의 예외를 처리하도록하십시오."라고 말할 수도 있습니다. 변수가 Car 클래스 생성자로 만들어 졌는지 확인하기를 원할 때.

인스턴스라는 용어는 개체의 특정 예를 이야기 할 때 사용됩니다. 예를 들어 변수 이름이 "toyota"인 Car 객체를 Car 클래스 인스턴스로 참조 할 수 있습니다.이 객체에는 고유 한 필드 값 집합이있을 수 있습니다.

그러나 나는 또한 일반적인 사람들이 용어 객체와 인스턴스를 구별하는 것이 까다 롭지 않다는 느낌이 들기 때문에 이것에 대해 너무 많이 강조 할 필요가 없다고 생각합니다.

+1

또래의 압력으로 답을 삭제할 것을 권장합니다. 그러면 부정적인 repo가 ​​삭제됩니다. – wp78de