배를 타고 싸우는 군병이라 하여 ‘선군’으로 호칭되었으며 ‘기선군(騎船軍)’이라고도 불렸다.
육군의 정병(正兵)과 더불어 양인의 의무 병역이었다. 그런데『세종실록』 지리지에 의하면 군정(軍丁) 총계 9만 6,259인 중 선군이 4만 9,337인으로 반수를 초과하고 있다.
선군에는 진무(鎭撫)·영선(領船)·두목(頭目)·지인(知印)·영사(令史)·사관(射官)·격군(格軍) 등 여러 가지 직임이 있었다. 그러나『경국대전』에 수군으로 정리되면서 편제도 만호(萬戶)·천호(千戶)·영선 등으로 정리되었다.
선군의 근무는 분령체제(分領體制)에 의해 좌·우영으로 나뉘어 6개월마다 교대했고, 근무 중 경제적 뒷바라지를 위해 봉족(奉足)이 배속되었다. 그리고 대립(代立 : 자신의 임무기간에 대가를 지불하고 남을 대신 치르게 하는 일)을 방지하고자 성명·나이·용모·신장·거주지·소속 포구를 기록한 목패(木牌)를 차도록 하였다.
주임무는 해상 방비였으나 부차적으로 조운(漕運)에 동원되고, 어물과 소금을 채취해 상납하며, 둔전 경작에도 동원되는 등 역(役)이 고되었다. 뿐만 아니라 입번(立番 : 임무 기간에 배속처로 가서 임무를 치름)중에 소요되는 식량과 군기까지 스스로 준비해야 했다.
그리하여 15세기에 이미 대립이 성행했고, 방군수포(放軍收布 : 布나 전곡 등을 받고 役을 면해 줌)의 폐해가 나타났다. 이에 선군을 확보하기 위해 조정에서는 관직을 내리거나 복호(復戶 : 특정 군인이나 양반 및 노비 등에게 부세를 면제해 줌)의 혜택을 주고, 법으로써 그들의 직임을 세습시키며 기타의 잡역에 동원하지 못하도록 조치하였다. 그러나 역은 가벼워지지 않았고, 따라서 대립과 도망은 계속되었다.
정부에서는 이를 막기 위해 선군의 궐액(闕額 : 역의 임무에 빠진 자)이 5인 이상인 수령은 파직시키는 등 강력한 조치를 취하기도 하였다.
승선하는 병선에는 맹선(孟船)·쾌선(快船)·구선(龜船)·별선(別船) 등 여러 종류가 있었다. 그리고 각 병선마다 승선 인원이 규정되어 있어 대맹선에는 80인, 중맹선에는 60인, 소맹선에는 30인이 승선하였다. 선군의 거점은 포(浦)였는데, 대립이 심해지면서 만호가 혼자서 포를 지키는 형세까지 보이기도 하였다.