A category is abelian if
- it has a zero object $0$, that is both initial and terminal,
- it has all binary products and binary coproducts,
- it has all kernels and cokernels, defined respectively to be the equalizer and coequalizer of a map $f \colon A \to B$ with the zero map $A \to 0 \to B$, and
- all monomorphisms and epimorphisms arise as kernels or cokernels, respectively.