Yes it is against the law. However the Romeo and Juliet law would protect the 18 year old from having to register as a sex offender. However he may still be prosecuted for statutory rape. A 16 year old can not consent. Consent is not a defense. Mistaken belief of age is not a defense. Make sure you check valid ID's or your life can be ruined by being charged with lewd assault. You can be sentenced to 15 years in prison.