front/js

내가 이해하고 있는 객체, 클래스, 인스턴스, 메소드

juniKang 2022. 11. 12. 00:25

1. 객체의 변수와 메소드

객체는 변수와 메소드의 묶음이다.

 

변수는 어떤 데이터를 담고 있을 수 있다.

 

메소드는 객체 내부에서 변수와 관련된 로직을 실행하는 함수이다.

 

이렇게 변수와 메소드의 묶음을 칭하는게 객체이다.


2. 객체, 클래스, 인스턴스 차이

클래스는 객체를 정의하는 스펙이다.

 

인스턴스는 클래스가 실제로 메모리에 떠서 변수를 저장할 수 있는 객체이며, 인스턴스 끼리는 같은 클래스라도 서로 다른 변수를 가지고 있는다. 이 때 이 변수를 객체의 상태값이라고도 한다.


3. 파라미터와 아규먼트

파라미터는 함수에서 받은 값을 지칭하는 용어이다.

 

아규먼트는 함수에 실제로 넘긴 값을 지칭하는 용어이다.

 

예를 들어 다음과 같은 함수가 있다.

 

function plus (val1, va2) {

  return val1 + val2;

}

 

이 함수는 파라미터로 val1, val2를 받아서 더한 값을 리턴한다.

 

이 함수를 사용할 때는,

plus(10,20);

 

plus는 10과 20을 아규먼트로 넘긴다.

 

10 아규먼트를 val1 파라미터로 받고,

20 아규먼트를 val2 파라미터로 받는다.

 

아규먼트는 실제 값, 파라미터는 함수에서 사용하는 변수이다.

헷갈리면 혼용해서 사용해도 크게 상관없다.