concatenation
Concatenation is the act of gluing two strings together end to end, exactly like snapping two LEGO trains into one longer train. Take foot and ball and you get football. Nothing is added or removed; you just write the first string and then immediately write the second one right after it.
Formally, the concatenation of strings x and y, written xy (and sometimes x . y), is the string whose symbols are those of x in order, followed by those of y in order. So if x = ab and y = ba, then xy = abba and, since order matters, yx = baab is a different string. Two clean rules always hold. Lengths add: |xy| = |x| + |y|. And the empty string changes nothing: εx = xε = x. Concatenation is associative, meaning (xy)z = x(yz), so we can freely write xyz without worrying about grouping, but it is NOT commutative: xy and yx are usually different.
Concatenation is the fundamental way to build longer strings from shorter ones, and it lifts to languages too: the concatenation of two languages glues every string of the first onto every string of the second. It underlies how a finite automaton reads its input symbol by symbol, how a regular expression like ab denotes the pattern an a then a b, and how powers of a string (w^k) are defined by concatenating w with itself.
If x = aa and y = bb then xy = aabb and yx = bbaa. Concatenating with ε does nothing: x ε = aa.
Concatenation joins strings in order; it is associative but not commutative.
Concatenation is not commutative: xy and yx are generally different strings. Do not assume you can swap the order.