인스턴스

2021년 6월 29일 수정

프로세스 개념

실행 중인 임의의 프로세스를 인스턴스라고 부르기도 한다.

특정 서비스의 용어

예를 들어 AWS의 EC2 서비스의 경우 각각의 가상 서버를 EC2 인스턴스라고 부른다.

컴퓨터 프로그래밍 개념

정의를 실체화(?) 시킨 것을 인스턴스라고 부른다.

예를 들어 아래 Swift 코드를 보자.

struct Human {
  let name: String
  var age = 0

  func birthdayParty() {
    age += 1
  }
}

위 코드는 Human이라는 구조체를 정의하고 있다. 따라서 위 코드 만으로는 아무런 동작을 하지 않는다.

하지만 아래 코드가 나오는 순간부터 약간 달라진다.

var james = Human(name: "James", age: 23)

위 코드는 Human 구조체의 인스턴스를 생성한다. 즉 메모리가 할당되고 여기에 초기값으로 이름과 나이가 들어가게 된다.

이렇게 인스턴스는 정의를 실체화 시킨 것을 의미한다. 그래서 위의 james 라는 변수는 'Human의 인스턴스'라고도 부른다. 물론 명확하게 하자면 인스턴스는 james가 가리키고 있는 메모리가 맞겠지만 뭐… 어렵게 생각하지는 말자.