공정하다: 공(公): fair, equitable to all; 정(正): just, right
=> fair and just
정당하다: 정(正): just, right; 당(當): proper, reasonable
=> just and legitimate
달리다 and 뛰다 are nearly the same when they mean "run".
They have different usage when applied more widely.
달리는 기차(O), 뛰는 기차(X) -> 달리다 can be applied to vehicles, 뛰다 can't.
뛰는 물가(O), 달리는 물가(X) -> 뛰다 means "jump" as well, 달리다 does not.