You could say either. However, it would perhaps be more natural to say a friend of John's, as the Original Poster suggests. The reason for this is that the speaker will probably want to mark the noun phrase as indefinite.
Noun phrases in English come in two parts. For example, in the noun phrase a huge elephant, the first part is the word a, the second the chunk huge elephant. We have a special name for the job that the word a is doing in the phrase. We call it the Determiner. We can use different types of words to do that job. We can use words like the, that, this, some, any, called determinatives, or we can use a genitive noun phrase like the dog's or Bill's or my or your or his.
However, it is a rule of English that we can only use one such item in Determiner function. For this reason the following noun phrases are badly formed:
- *a the dog (ungrammatical)
- *some John's elephants (ungrammatical)
- *any these things (ungrammatical)
Now, one of the jobs that Determiners can do in noun phrases is to mark them as either definite—meaning that the speaker is indicating the listener will identify which thing(s) the speaker is talking about—or indefinite—in which case the listener will not already know the identity of the things being discussed. We can see this contrast in the following pair of examples:
- A man spoke to me.
- The man spoke to me.
In the first example, the listener does not know which man is being talked about; we don't know the identity of the man in question. In the second, the listener is expected to understand which man is being referred to. The speaker has probably already mentioned the man in their previous discourse.
Usually when we think about noun phrases being marked as definite or indefinite we automatically think about the words a and the. But in fact many other words in Determiner function can do this as well. So, for example the words some and any mark noun phrases as indefinite, and the words this and that mark phrases as definite. In the string Some idiot nicked my chocolate cake, the listener will not know the identity of the idiot. In contrast, in That idiot nicked my chocolate cake, the identity of the miscreant will be clear to the listener.
In English, genitive noun phrases used as Determiners tend to give the larger noun phrase a definite flavour. So if you are visiting a business where one of John's friends works and they are going to meet you to show you round, they may well walk up to you and say Hi, I'm John's friend, because they will expect you to understand which friend of John's they are referring to (it's the one who you're expecting to meet!).
In some other languages, such as Italian, possessive words such as my or your don't work in the same way as they do in English. They are Modifiers within the noun phrase; they're not Determiners. For this reason in Italian you can say things like:
- la mia amica — the my friend
- una mia amica — a my friend
Notice that in English we cannot do this. The reason is, of course, that we can have only one item in the Determiner function, and the English versions of these phrases have two (the my /a my), rendering them ungrammatical.
As we have seen, because genitive noun phrases like John's or my tend to give noun phrases a definite flavour, we don't need any other structure to give the same kind of meaning as the John's friend. We can simply say John's friend instead. However, there's a problem if we want to say something like a John's friend, where we are implying that this denotes one of several or many of his friends, and we are implying that which specific one is not known to the listener. The restriction on more than one item in Determiner function makes it impossible to have both John's and a in that slot. As with other such situations when we might wish to use two Determiners together in one noun phrase, we get round this by using an of-preposition phrase to modify the Head noun. The second Determiner will now appear within a smaller noun phrase inside the preposition phrase. So instead of:
- *a John's friend (ungrammatical)
Some people interpret the structure of this as:
- a friend of John's
where the second friends has been deleted and the word John's occurs on its own as a fused Determiner-Head noun phrase. Of course, the of here would signify the "member of a set" relationship, as in he is one of us or one of them and so forth.
The Original Poster's question
- I'm John's friend.
- I'm a friend of John's.
Speakers will opt for (1) when John's friend is meant to denote a specific friend that is already salient to the listener. Example (2) is likely to be used when the speaker wants to make the noun phrase indefinite so that it has the same meaning as a John's friend would have if such noun phrases were allowable in English.
Assuming that the speaker isn't known of in any way by the listener, a majority of speakers would use the second example here. The first could give the impression that either John only has one friend, or that the listener should in some way be expecting a specific friend of John's.
Genitive noun phrases used as Determiners tend to give the larger noun phrase a definite flavour when they are used with the verb BE in its specifying sense (i.e., when it denotes the identity of something). When the verb BE is used in its ascriptive sense (to denote a quality of the Subject), this no longer applies. So if a speaker wants to imply that they have a friendly disposition towards John, as opposed to being his enemy, then within the phrase I am John's friend, the NP John's friend will not be interpreted as definite.