🪩/기타

객체(object), 클래스(class), 인스턴스(instance)

S0 2024. 2. 16. 20:44

 

~오늘의 수강 과목~

1. Node.js 심화 (이용우 튜터님)

_ 객체 지향 프로그래밍(OOP)

 


공부하다보니 낯선 용어가 많이 나오는데 머릿속에서 구조가 잘 안 잡히는 느낌이라 이걸 먼저 잡고 다시 시작했다.

개인적으로 처음 공부하는 개념들은 연관관계를 파악하고 시작하는게 제일 효율적으로 공부할 수 있는 방법인 것 같다.

 

객체(object)는 소프트웨어로 구현할 대상(물체나 개념..) 그 자체

구성 요소

정보(data)

그 정보를 처리하는 행동(function 혹은 method)

 

클래스(class)는 객체를 만들기 위한 템플릿

구성 요소

속성(attribute) : 객체의 성질을 결정함 (ex: 팥 붕어빵의 "팥"이라는 속성)

메서드(method) : 객체의 성질을 변화시키거나, 객체에서 제공하는 기능을 사용 (ex: 팥붕을 슈붕으로 변경 가능 / 손님들은 붕어빵의 가격을 알수있음)

 

객체(object)와 인스턴스(instance)의 차이도 헷갈렸는데, 객체가 좀 더 넓은 개념이고 객체를 메모리에 실제로 구현한 것이 인스턴스. 이렇게 이해했다.

그렇게되면 클래스로 찍어낸 객체는 인스턴스가 되는거겠지?

 


클래스의 정의 방법 : class 사용

class 안에서 생성자(constructor)를 이용해 객체 생성, 초기화 -> 붕어빵 틀을 만드는 과정

class 밖에서 new를 이용해 새로운 객체 생성 -> 새로운 붕어빵을 만드는 과정