객체(object)와 인스턴스(instance), 파라미터(parameter)와 아규먼트(argument)는 서로 비슷해 보이지만 차이가 있다.
위 단어들은 책이나 프로그래밍 관련 사이트에서 자주 사용되는 단어들이지만 그 의미가 가끔 헷갈리기도 한다.
1. 객체 / 인스턴스의 차이
많은 경우 객체 = 인스턴스라는 의미를 갖기도 한다.
객체를 인스턴스라고도 하며, 명명된 변수나 배열 또는 컬랙션에 저장할 수 있다.
클래스에 의해서 만들어진 객체를 인스턴스라고 부르기도 한다.
객체와 인스턴스는 차이는 상황에 따른 표현의 차이라고 설명할 수 있다.
만약 아래와 같은 코드를 작성했다면 가정해보자.
something = ex_class();
인스턴스는 특정 객체가 어떤 클래스의 객체인지 관계 위주로 설명할 때 사용된다.
따라서 위 코드에서 만들어진 something은 객체이며, something이라는 객체는 ex_class()의 인스턴스라고 할 수 있다.
2. 파라미터 / 아규먼트의 차이
파라미터는 함수 선언 시, 아규먼트는 함수 호출 시 인자를 의미한다.
아래와 같은 메서드를 생성했다고 가정해보자.
- 파이썬의 경우
1
2
3 |
def example(x, y) :
print x + y
|
cs |
- C#의 경우
1
2
3
4
5 |
public void example(int x, int y)
{
Console.WriteLine(x + y);
}
|
cs |
함수를 정의할 때 example(x, y) 또는 example(int x, int y)에서 x, y는 example() 메서드가 동작하기 위한
매개변수(Parameter)라고 한다.
example 메서드를 호출하여 사용할 때에 example(10, 20)과 같이 작성하는 경우 10과 20은 함수 호출 시
사용되는 인자, 즉 아규먼트(Argument)라고 한다.
댓글