Why does 公路 mean highway?
A highway IS a public road, so there is no problem calling it a 公 (public) 路 (road).
Let's step back a little and consider this: If you break down the English word &quot;highway&quot; into &quot;high&quot; and &quot;way&quot;, a learner coming from a different language background may well be wondering why. Since a highway is not necessarily high in elevation, why call it a &quot;highway&quot;? And why call some roads &quot;freeway&quot;, when they are not really free? I have been on many freeways that charge you a toll to use.
When learning a language, it's important to realize that this is an entirely different system that has developed over time into what it is now, mostly independent of other languages. True, some languages are related and have certain things in common, but we must not assume that something that you've accepted in your language has to be true in another, especially when the two languages are as different as Chinese and English.
I think your question itself is a bit Anglo-centric. The fact that highways are called &quot;highways&quot; in English isn't necessarily derived from logic, as I tried to show above. It is just a word that has developed over time to denote a road that is mostly used by motorists, has few traffic lights, allows a higher speed than other city streets ... etc. The fact that this same road is called 公路 in Chinese probably came about in a similar manner. Note I say &quot;probably&quot; because I have not delved into the etymology of the word 公路. The point I am trying to make is, when you learn words in a new language, it's better, and easier, to just accept the term, without analyzing its components from the perspective of your native language.
Finally, a note about the comment you made. You asked: &quot;but aren't most roads public? so wouldn't it be difficult to differentiate between roads?&quot; No, it would not be difficult to differentiate between roads, because other roads have other words designated for them. For example, a city street is 街 or 街道, a back lane is a 巷 or 後巷. When coining a word in a language, it does not have to be a strict logical process in that when I choose the word &quot;public&quot;, I need to exclude everything that isn't public. It's great to be curious, but looking at every single word as something to query from the standpoint of your native language will be futile and incredibly frustrating.
Happy learning!