In a preadditive category, every finitary product is necessarily a coproduct, and hence a biproduct, and conversely every finitary coproduct is necessarily a product (this is a consequence of the definition, not a part of it).
It is then a remarkable theorem that the Hom sets naturally admit an abelian monoid structure.
The zero object is the trivial group, the addition of morphisms is given pointwise, and biproducts are given by direct sums.
Then every hom-set has an addition, endowing it with the structure of an abelian monoid, and such that the composition of morphisms is bilinear.
Thus additive categories can be seen as the most general context in which the algebra of matrices makes sense.
Recall that the morphisms from a single object A to itself form the endomorphism ring End A.
If we denote the n-fold product of A with itself by An, then morphisms from An to Am are m-by-n matrices with entries from the ring End A. Conversely, given any ring R, we can form a category Mat(R) by taking objects An indexed by the set of natural numbers (including 0) and letting the hom-set of morphisms from An to Am be the set of m-by-n matrices over R, and where composition is given by matrix multiplication.
If we interpret the object An as the left module Rn, then this matrix category becomes a subcategory of the category of left modules over R. This may be confusing in the special case where m or n is zero, because we usually don't think of matrices with 0 rows or 0 columns.
This concept makes sense, however: such matrices have no entries and so are completely determined by their size.
Thinking about such matrices can be useful in one way, though: they highlight the fact that given any objects A and B in an additive category, there is exactly one morphism from A to 0 (just as there is exactly one 0-by-1 matrix with entries in End A) and exactly one morphism from 0 to B (just as there is exactly one 1-by-0 matrix with entries in End B) – this is just what it means to say that 0 is a zero object.