Hashing, to put it simply, is an algorithm that takes a string and encodes it.
Resources for what makes a hashing algorithm a "good" algorithm, as well as the usages of hashing are available online.
SHA256 is one such algorithm, there are plenty more.
a checksum is a function that when applied on a string of data, is supposed to check it's validity, i.e. error detection. Usually you check the resulting value with a fixed "checksum field".
For example you have the famous "ipV4 internet checksum".