복무에 대해서 이야기를 하려고 하면 먼저 장기복무, 단기복무, 의무복무에 대해서 이해를 해야 한다.
먼저 의무복무는 의무적으로 복무하는것을 말한다. 사실 이 의무복무라는 용어는 단기복무 및 장기복무에도 해당이 되는 용어이다. 왜냐하면 법률로 명시되어 있기 때문이다. 우리나라는 징병제이기 때문에 성인남성이면 반드시 국방의 의무를 가지고 있다. 그래서 의무복무라 칭하는것이다. 또한 이 의무복무가 단기복무 및 장기복무에도 해당한다고 하는 말은 부사관으로 의무복무는 어느 군을 가던지 4년으로 정해져 있다. 장교일경우 출신에 따라서 3년, 4년, 7년으로 나누어 진다. 이처럼 의무적으로 군생활을 하는 기간을 의무복무라 한다.
다음으로 단기복무는 의무복무만 하고 또는 장기복무가 되지 않고 전역하는 것으로 부사관으로 비교하면 4년에서 연장근무까지 포함해서 최대 7년까지 근무만 하고 전역하는 것을 의미한다. 대부분 직업군인으로 임관을 하는 나이가 20세에서 22세를 감안하면 30대 이전에 전역을 하게 되는 것이다. 장교일 경우 의무복무를 하면 평균적으로 중위 또는 대위로 전역하게 되고, 부사관일 경우 하사 또는 중사로 전역을 하게 된다. 이렇게 단기복무만 하고 전역을 하는 것으로 직업으로 군인을 하는 것이 아닌 의무복무만 하고 전역하는 것으로 표현을 한다. 하지만 직업군인이 되기 위하여 장교와 부사관을 선택하는 대다수는 직업으로서 군 생활을 하고 싶어 하는 것은 당연한 것이다. 하지만 모든 하사와 소위를 장기복무를 시킬 수 있는 것이 아니기 때문에 원하든 원하지 않든 전역을 하게 되는 경우가 발생할 수밖에 없다.
장기복무는 단기복무와 달리 직업으로서 군인으로 생활한다는 것을 의미한다. 따라서 정년까지 근무하는 것으로 군인연금을 받을 수 있는 19년 6개월 이상 근무를 할 수 있는 자격 조건을 갖추었다 할 수 있다. 하지만 장기복무가 되었다고 해서 평생직장이라 할 수는 없다. 왜냐하면 장교 및 부사관의 연령정년이 있기 때문에 해당 계급에서 차상위 계급으로 연령정년 전까지 진급을 하지 못할 경우 전역을 하여야 하기 때문이다. 그래서 장기복무가 되었다고 해서 무조건 19년 6개월 즉, 군인연금을 받을 때 까지 근무를 할 수 있는 것은 아니다.
군인의 진급은 최저근속기간과 계급별 최저복무기간이 정해져 있다. 먼저 최저 근속기간이란 군인으로 최소한 근무를 해야 하는 기간을 말하고, 계급별 최저복무기간은 해당계급에서 최소한 재직을 해야 하는 기간을 말한다. 이러한 최저근속기간과 최저복무기간이 장교에게는 적용이 되고 있지만 부사관은 계극별 최저복무기간만 적용되기 때문에 차이가 있다.
각 계급에서는 최소 복무기간(근무년수)가 정해져 있다. 최소 복무기간이란 해당 계급에서 다음계급으로 진급을 하기 위하여 최소한으로 현재 계급에서 근무를 해야 하는 기간을 말한다. 따라서 하사가 중사로 진급하기 위해서는 하사로서 최소 2년을 근무해야 하는 것이다. 하지만 상사로 진급하기 위해서는 중사로서 5년을 근무해야 한다. 따라서 의무복무만 하거나 연장복무를 통해 최대 7년 근무를 하고 전역을 하게 되면 중사로 전역은 할 수 있지만 상사로 전역은 힘들다고 볼 수 있다. 혹시나 의구심이 들 경우를 대비해서 조금의 설명을 덧붙이자면 해군일 경우 진급이 결정된다고 해서 바로 진급이 되는 것이 아니라 최소 5~10개월 정도 진급예정 신분이 있기 때문이다. 그래서 군인을 보면 계급 뒤에 ‘(진)’이라고 붙어 있는 계급이 있다.