Sean Penn has defended his casting as a homosexual politician in 'Milk' back in 2008, insisting an actor's job is to convey a "different personality".

The 63-year-old Hollywood star portrayed Harvey Milk - the first openly gay man to be elected to public office in California back in the 1970s - in Gus Van Sant's acclaimed biographical drama.

Penn's performance saw him win his second Best Actor Oscar, but 16 years on many would suggest that he should not be cast as Harvey due to him being a heterosexual man, with the role instead going to a homosexual actor.

Penn refutes this notion and insists that limiting casting opportunities based on a drive for diversity ultimately damages the art of filmmaking.

Appearing on The Hollywood Reporter's Awards Chatter podcast, he said: "Look, I'm totally on board with any industry - every industry, the movie business as well - confronting the problem of what had been minimal diversity. There's nobody of any gender or any race or any alternate lifestyle that I'm not interested in if they have a story in their heart they want to tell.

"What I know is that the solution is not limiting the casting of Hamlet to Danish princes. And not only is it an attack on imagination that is our bread and butter, but [it] is a demonstration of the unimaginative who would ask it. And I find it culturally offensive and venal and sad that that's the easy solution for people to have groupthink on and all those defences.

"You know, I'm I feel so lucky I got to play Harvey Milk, because guess what, for me as an actor that wasn't a gay man or a straight man, that was a different personality - and that's what we're supposed to be able to do."

Despite Penn's defence of his profession, the 'Mystic River' star accepts he would not the opportunity to play Harvey in 2024.

He added: "I don't know the solution. I don't know where it'll go, but I would not be allowed to play that role today. That's certain."