In ancient times, people generally had both names and characters, and the environments in which they were produced and used were different.
"Name" is also called "real name". According to the "Book of Rites of Zhou" "A baby is given a name after three months of marriage", the baby was named by his father three months after birth. The earliest names we see now are the names of people from the Shang Dynasty.
"Zi" is also called "Piao Zi", which is a name that is related to the real name in addition to the real name. In ancient times, men were given names when they were 20 years old, and women were given names when they were married. For example, Confucius was named Zhongni, Sima Qian was named Zichang, and Li Bai was named Taibai.
According to the "Book of Rites·Tan ??Gong", when a person reaches adulthood, he needs to be respected by the society. It would be disrespectful for his peers to just call him by his first name, so he needs to choose a word for himself. Used when interacting with others in society to show mutual respect. Therefore, after the ancients reached adulthood, their names were only used by their elders and themselves. Calling themselves by their own names showed humility, while the words were used to address people in society.