Cats sometimes scratch when they get overstimulated. For instance, if you pet them for too long. If you are giving him affection, watch his body language to see when he is getting overstimulated and then leave him alone. Cats can also get aggressive when they are bored. This happens more often with indoor cats. Cats like to have lots of territory to explore and they like to play, hunt, and chase. Make sure your cat has lots of territory to explore. You can increase this by adding shelves and cubby holes and those climbing things they make for cats. You can also try to play with him in safe ways that will get out his aggression so he doesn't take it out on you. The cat dancer is a great toy. I have also used Feliway. It is a plug-in diffuser that emits a scent that is supposed to be calming for cats who are stressed. I tried all of these things with my aggressive cat. He used to attack me and make me cry too. I eventually let him go outdoors, but he got hurt a lot so that is not always a good choice. Later, I moved to a larger apartment where he had more space to roam, and he got more mellow as he got older and his behavior was much better. You can also ask your vet for suggestions. Good luck!
Follow Mothering