태위(太尉)·사도(司徒)와 함께 삼공(三公)이라 총칭되었다. 언제부터 주어졌는지는 확실치 않으나 문종(文宗) 때 1인으로 하고 정1품으로 정비하였다. 충렬왕(忠烈王) 때 없어졌다가 1356년(공민왕 5) 다시 두었으며, 1362년 다시 없앴다. 주된 기능은 임금의 고문 역할을 하는 국가 최고의 명예직이었다.
그런데 고려시대에 사공(司空)이 특히 주목되는 것은 그것이 왕족에게도 수여되어 봉작(封爵)처럼 호칭된 때문이었다. 고려시대에는 정연한 봉작제(封爵制)가 시행되었으나, 봉작은 당대에 끝날 뿐이었고 상속되지는 않았다. 대신 모든 종친의 봉작자들의 아들과 여서(女婿)에게는 봉작 대신 최고의 관직인 사도나 사공을 명예직으로 수여하였다.
사도나 사공은 관직이었으나 종친에게 수여된 사도나 사공은 실제로는 작위처럼 기능하였고, 다른 실직(實職)을 갖지는 않았다. 그리고 이들 사도나 사공이 공주(公主)와의 족내혼(族內婚)을 통해 왕의 사위가 되면 백작(伯爵)이 수여되었다.
고려의 공주들은 거의 전부 족내혼을 하였으므로 실제 이러한 사례는 많이 보이고 있다. 바로 이 점이 봉작이 상속되지 않았음에도 불구하고 실제로는 종친들의 봉작이 연속될 수 있었던 이유였던 것이다.