'I am trying to understand the use of memory in smart contracts

I am new to solidity, and I'm trying to wrap my head around memory, it seems we use the memory keyword when dealing with strings, structs etc... in functions, how come we dont do the same when passing in a uint? (at least in my crypto zombies tutorial)

e.g

function createObject(string memory _name, uint _dna) public {
    object.push(Object(_name, _dna));


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source