So I thought I would try to explain how I think about character complexity, even though I'm about to use a visual aid. I have no spatial perception and no business making charts, but this is the best way I can think of to demonstrate this. So HERE WE GO.
Say a character has a defining characteristic -- let's go with Han Solo, archetypal bad boy. And let's make an ugly chart:
Now, if we wanted to express that Han is a complex person with hidden depths, undergoing change, blah blah, our first instinct might be to give him this line:
But that line is the opposite of what we know about Han. It's so different that it doesn't ring true, and that will sink a scene. (A good actor can do a lot to disguise the falsity of a line like that, but it still won't grab the audience like you want it to.)
In my opinion, the character complexity sweet spot is somewhere in between those two points. It's closer to Han's fundamental nature, but it's stretching toward something else. And it's this:
So a great way to deepen a character is to give them something that falls in that middle space between Fundamental Characteristic and Thing Exactly Opposite That Characteristic.
(This is also why people care that Han shot first.)
I'm calling this a sweet spot because it feels good to an audience; it reflects what they know to be true about real people. It resonates so much, sometimes, that people will make satisfied noises. It resonates so much that it can become iconic.
Sometimes, absolutely, you can have a character do the Opposite Thing, but Opposite Thinging is a seismic change. Use it in a climactic moment. Use it only when your character has changed enough that it's not quite Opposite anymore.