내 is indeed my. it is in fact the contraction and alternative shortened form of 나의, 나 being "I" and 의 a possessive marker. so the same goes for 제 and 저의, and both mean my as well. the difference between 제/저의 and 내/나의 leans on the formality of speech. the formers are used in polite speech whereas the latters in more casual speech.
I just found this, which might be helpful. https://www.quora.com/What-are-the-Korean-equivalents-of-the-Japanese-particles
나는 and 저는 both mean 'I'. The only difference is that 나는 is LESS formal than 저는. You can use 저는 when talking to people older than you and use 나는 when talking to someone younger than you.
And 제가 저의 are the same thing. They both mean "my", referring to a possessive. Here's how:
--------> 저+의= 제. The ga (가) at then end is a subject marker. (Basically 제가 is a compressed form of 저의, kinda like how in English we have 'it is' and 'it's'. It's the same concept.)
You can also use 내 since it also means my. The expanded form of the word looks like this, 나의. Like above, we can compress this to make 내:
-----> 나+의 =내
- Like 나는 and 저는, 내가 is LESS formal and 제가 is more formal
I hope this helped you! :)
안녕하세요 여러분! Here's an explanation about 저의 shortening to 제.
When 의 is used as a possessive pronoun, it is most commonly pronounced more like "에".
Now, this is why 제 is commonly used. 저의 is pronounced like 저에, which is shortened to 제.
Same applies to 나의. It gets pronounced as 나에, ehich gets shortened to 내.
Also, 너의 gets pronounced as 너에, which gets shortened to 네.
저의 => 제 my (formal)
나의 => 내 my (informal)
너의 => 네 your (informal)