The line you had in bold declares a method. If it's in a class file, the method body will immediately follow this declaration. But with that semi-colon on the end, it looks like this line was found in an interface file.
Either way, the syntax of this declaration tells us
1) the method is public
2) the method will return an object of type InventoryItemInterface
3) the method requires an argument of type String
We would expect this method to create the object it's going to return or maybe find it in a cache or get it from some other object. The choices are endless, but let's take the simplest choice and create the new object on the spot.
Because we see Interface in the name of the return type, we can guess the return type is an interface and not a "concrete" class. That's a cool thing. The method promises to return an object that implements the interface, but doesn't tell you exactly what class that might be. This gives our method the freedom to create different objects depending on the itemName argument.
One confusing bit - with just that one line to go on, we don't have any idea what class actually implements this method. So who you call to get an inventory item is simply not known.
I'm resisting providing code samples of how this could work, hoping you'll take a shot at them yourself. Can you take a guess at what you'd see in the method body? At how somebody would call this method?
BTW: This is supposed to be fun!

Don't worry that somebody here will jump on you if you guess wrong.