All AVR microcontrollers behave the same. The I/O pins can be set to Output or Input, or they can be set for additional functions sometimes.
When set as Output, the pins can be set High, that means they will output a +5 voltage, or they can be set Low, that means they will output a 0 voltage (always measure voltage compared to ground). If you use external pull up resistors (or pull down), if the pins are set as output, you will have a current going through the resistor, that is waste of power. As an Output, the pin will source power (or sink to ground) to the ouside connected circuit.
When set as Input, the pin may be floating between High and Low if the pin is unconnected, or if the circuit can't set a steady voltage to be considered either High or Low. This is the case where a Pull-up or Pull-down resistor may be needed to make sure the pin stays in one state until the circuit makes a change. The pins have an internal Pull-up resistor that can be set only if the pin is set as an Input first.
An Output pin can be set to Input (without any pulling resistor) and this will make the pin go to a High Impedance state, making the outside circuit seem like it was disconnected.
Hope this helps...