In general terms:
Absolute means data memory and program addresses are given explicitly in the program.
Relocatable means addresses are given as relative offsets to the program counter or another register, so the program does not need to be loaded to any specific address in the CPU memory space, it can run equally well at any location.
There are variations & different IDEs or compilers may use different terminology; ie. if you are building a program that uses multiple separate source files, they may all apparently use the same addressing, but the compiler "loader" program patches all the additional file addresses as it builds the complete machine code program & sequences them after the main module, to give each part a different address range.
Plus things such as Windows .exe files, which are absolute but include a patch table the operating system uses to adjust all the values in absolute address instructions, so the program can run from any location once the OS has finished patching it.