클래스 내부의 변수들은 당연히 각각의 메모리 주소를 갖고 소환이 되잖아?

이때 클래스 내부의 함수들은 어떻게 메모리 주소를 할당 받아?

예를들어

int a, b 를 인자로 가지고

void 형을 반환하는 함수 aF bF 두개가 선언된 AClass 클래스를 배열이나 리스트로 5개 만든다고 치면

Aclass[0]
a 메모리주소
b 메모리주소
aF 함수 메모리 공간
bF 함수 메모리 공간
Aclass[1]
a 메모리주소
b 메모리주소
aF 함수 메모리 공간
bF 함수 메모리 공간
Aclass[2]
a 메모리주소
b 메모리주소
aF 함수 메모리 공간
bF 함수 메모리 공간
Aclass[3]
a 메모리주소
b 메모리주소
aF 함수 메모리 공간
bF 함수 메모리 공간
Aclass[4]
a 메모리주소
b 메모리주소
aF 함수 메모리 공간
bF 함수 메모리 공간

이런식으로 함수들이 각각의 클래스 내에서 모두 메모리 내에 자기 자리를 할당 받는거야

아니면,
{
Aclass[0]
a 메모리주소
b 메모리주소
Aclass[1]
a 메모리주소
b 메모리주소
Aclass[2]
a 메모리주소
b 메모리주소
Aclass[3]
a 메모리주소
b 메모리주소
Aclass[4]
a 메모리주소
b 메모리주소
}
Aclass의 aF함수 메모리 공간
bF함수의 메모리 공간.

이런식으로 함수자체는 외부에 별도의 공간이 만들어 져서 외부에 만들어진 함수들을 호출하는 방식이야?

전자라면 존나 비효율 적일테니 당연히 후자일거라 생각은 드는데

포인터 함수라는 개념이 있는거 봐선 또 이게 아잉가 싶어서...