精確に定義すると,圏$(category)$とは$\mathbb{C}=(O,A,\circ,id)$,但し,
各対象$X,Y \in O$に対して$A(X,Y)$は対象$X$から対象$Y$への射$(morphism)$の集まりとし,$A(X,Y)$を$A$と書き,
各対象$X,Y,Z \in O$に対して写像
$\circ_{X,Y,Z}:A(Y,Z) \times A(X,Y) \longrightarrow A(X,Z)$
すなわち,射の合成$(composition)$が定まっている.このとき,全ての$\circ_{X,Y,Z}$をまとめて$\circ$と書く.
各対象$X \in O$に対して恒等射$(identify)$ $id_{X}:X \longrightarrow X$が定まっていて,その全てを$id$と書く.
であって,結合律$(associativity)$と単位律$(unit law)$を満たすものをいう.
一方,射(morphism)の場合は,ある数学的構造を持つ数学的対象から別の数学的対象への「構造を保つ」写像の意味で用いられます(準同型).
例えば,\[A=\{1,2\},B=\{3,4\}\]という $A,B$ 2つの集合があったとします.
このとき考えられる写像としては,\[\{(1,3),(2,4)\},\{(1,4),(2,3)\}\]の 1対1対応(全単射;bijective function, bijection)があります.
一方,射の場合は大小関係などの構造を持った数学的対象を考えます.例えば,\[A:1 < 2\]\[B:3 < 4\]の場合の射は\[\{(1,3),(2,4)\}\]だけになります.\[\{(1,4),(2,3)\}\]は $1<2$ に対して $4 < 3$ とはならないので,この場合は射とはなりません.
同じ種類の代数系から代数系への写像において代数系の算法(operation;演算)を保つものを準同型といいます.
つまり,代数系 $A$ から代数系 $B$ への写像 $f$ において,$A$ の算法(演算)$\circ$ に $B$ の算法(演算) $\ast$ が対応しているとき,$A$ の各元 $x,y$ について,\[f(x \circ y)=f(x) \ast f(y)\]を満たす場合に準同型といいます.
オブジェクト指向プログラミングにおいて,同名のメソッドや型などをオブジェクトの種類に応じて使い分けることができる性質のことを「ポリモーフィズム(polymorphism)」といいますが,この「morphism」も変態(metamorphosis),変化させる(morph)という意味を持っています.
準同型と射とは日本語では異なりますが,英語では homo-morph-ic と morph-ism であることからも両者の関係が分かるでしょう.
Vita brevis, ars longa. Omnia vincit Amor.