Why does Romeo feel ashamed after killing Tybalt?
The moment in the play in which Romeo does express remorse for killing Tybalt comes at the end (Act V, scene iii) when he confronts Tybalt's body in Capulet's tomb.
We are, I think, to understand that Romeo has come quite a ways in maturing throughout the events of the play. At the tomb, he is provoked by Paris and fights him to the death in a duel that Paris demands. Once he is dead and Romeo sees who it is, his rival for Juliet, he still wishes Paris to:
...give me thy hand,
One writ with me in sour misfortune's book.
When he discovers Tybalt's body, he says this:
Tybalt, liest thou there in thy bloody sheet?
O, what more favour can I do to thee
Than with that hand that cut thy youth in twain
To sunder his that was thine enemy?
Forgive me, cousin.
And so, though he may have been concerned more with his own banishment from Juliet when he killled Tybalt, at the end of the play he expresses profound regret over the act, demonstrating that he has graduated from childish self-involvement to a mature responsibility for his actions.
I think that there is probably an "emotional cocktail" of experiences ingested by Romeo at the moment of killing Tybalt. Shakespeare has a great tendency to explore the multiple dimensions within people after commiting an immoral act. While Romeo might be singular in his dimension throughout the play, at this moment, I feel we see many elements in his character revealed. The previous thoughts were well warrranted, in that the immediate reality of not being able to see Juliet is present in his mind. At the same time, I think that another issue is that he feels ashamed because he knows he is going to have to confront her about killing a member of her family. This is going to cause immense shame because he sees how someone else sees him. It's a fairly profound moment in that a character sees himself not through his own eyes, but through another. At the moment he kills Tybalt, Romeo immediately views his actions through Juliet's eyes, a confirmation that he is in love with her and sees himself as she sees him. This might be why shame is one of the components of his "emotional cocktail" at such a moment.
At no point in the play does Romeo directly express that he's "ashamed" for having killed Tybalt. Rather, he is completely distraught because he has been banished, and, as a result, will be unable to see Juliet.
When Romeo arrives at Friar Laurence's cell, Friar Laurence informs Romeo that he must leave Verona and describes the Prince's sentence of banishment (for he had threatened death earlier in the play) as a show of mercy. Romeo, on the other hand, view his banishment as torture:
'Tis torture, and not mercy. Heaven is here,(30)
Where Juliet lives; and every cat and dog
And little mouse, every unworthy thing,
Live here in heaven and may look on her;
But Romeo may not.
In Act 3, scene 5 (the last meeting between Romeo and Juliet before he must leave Verona), Romeo makes no mention of Tybalt. Because he loves Juliet and knows she loves her cousin, we can safely assume that Romeo regrets killing Tybalt. However, he never explicitly states that he is ashamed.
I don't know that he really does feel guilty. But if he does, it is because he knows that he has hurt Juliet by killing someone who is her close relative.
Right after Romeo kills Tybalt, he doesn't feel guilty. He just says that he is "fortune's fool" -- in other words, that he is unlucky. That is all we see of him until two scenes later in Act III, Scene 3. At that point, he is talking to Friar Lawrence and he doesn't seem to feel all that guilty. He is anguished because he has to leave Juliet (because he's banished) but he is not talking about feeling bad for what he actually did.
A bit later in that scene, though, Juliet's nurse shows up and then Romeo acts a bit guilty. He talks about how he has killed her relative and he offers to take his sword and cut out whatever part of his anatomy has his name in it because his name is hateful to Juliet now.
After Tybalt's death, Romeo recriminates himself:
This gentleman, the Prince's near ally,
My very friend, hath got his mortal hurt
In my behalf; my reputation stain'd
With Tybalt's slander.--Tybalt, that an hour
Hath been my cousin! O sweet Juliet,
Thy beauty hath made me effeminate
And in my temper soften'd valour's steel! (3.1. 1.109-115)
Romeo is ashamed that he has been weakened in his "valour" and integrity. Heretofore, he has been known for having been a rational and honourable man. But, in his "effeminancy" [weakness, powerlessness] he has become emotional and acted tempestuously.
Ashamed is not a word I would use anywhere in this play regarding Romeo, and certainly not in his slaying of Tybalt. In fact, though it's an impulsive action, he is defending a friend and he feels totally justified in doing so. He is shocked at his own impulsiveness, perhaps, and he's unbearably heartbroken at his eventual banishment, and he is sorry at the Capulet vault, as mentioned above. But ashamed? I don't think so.