Check him put him in his place or he will continue to do as you allow.
My middle son who is not quite an adult but at 17, close enough and old enough to know better was the same way. I finally pulled him aside and told him that he needed to stop treating me like crap, that nobody on this planet owes him ANYTHING. I told him I’m done being treated like that and from this point forward he needs to treat me exactly how he wants me to treat him because I. AM. DONE. He magically turned back into my moody but mostly sweet and funny middle son.
Now if he were an adult I’d tell him the same thing but add that he needs to move out if he can’t treat me respectfully and not in two weeks or a month, change NOW or move NOW.