When we learn the theory of relativity and its formalism, we'll meet concepts : covariant and contravariant, such as covariant vector, covariant tensor...

I wonder that why we need to use the concepts ? What are advantages of them ?

I think that one of their advantages is to generalize the formalism of the special theory of relativity to the formalism of general theory. Is it true ?

Thanks.