Hi Becky!
I know a little about this because I am in a biracial relationship (I'm white, my husband's black) and we are raising our biracial daughter.
People of color - especially those of African descent - talk about race all the time - at the dinner table, at parties, just going about their everyday life. It's no big deal to bring up the subject of race.
White children are taught (with the best intentions of the parents) that talking about race is embarrassing or shameful. I think we're afraid that if we talk openly about race that we will be accused of being racist, so we just avoid the topic.
When a white child makes a comment about a non-white person's race in public, we tend to react the same way as when a child makes a comment about a person's disability in public. We're embarrassed and confused and try to hush our child or redirect him to something else. This can confuse our children and it will offend the person of color much more than a positive comment or explanation.
Anyway, I have done a lot of research on this and read some fantastic books. This is what I would do.
1. Find a book that talks about different skin colors and read it to your child. A great one for toddlers is The Colors Of Us by Karen Katz. This will give you and your son a common language to talk about race when you go out.
2. When your son makes a similar comment in public, just say something like, "He does have beautiful dark skin, doesn't he!" In other words, acknowledge your son's observation while making a positive comment about the physical characteristic he has just noticed.
And thanks for asking this question! Your son's lucky to have you as his mother.