Levels of indirection have an impact, both in terms of CPU cycles and in readability.

levels of Indirection creates dependencies for data access. This makes hard to parallelize execution, because the CPU must follow the access path to access any data (and cannot parallelize this process).
That is why arrays are faster than linked lists. To access any entry on the array, you just need a pointer to the base of the array on memory, and then to sum an know and fixed offset. On linked lists, otherwise, you must read each node / entry to find the location in memory of the next node.

Remember that a linked lists are just chains of structures. in which each node in the chain is a structure that stores the data and a pointer to the location of the next node (of same type of structure)
OOP adds lots of levels of indirection.
https://www2.dmst.aueb.gr/dds/pubs/inbook/beautiful_code/html/Spi07g.html