LAN

is LAN just like connecting computers in your house or is it within the area

It is any people connected to your network. Hamachi (although it sucks) would work here.

So how would I make it so that my frien who lives on the other side of town could play?

It would be simple to setup a ‘network’ using hamachi to fake a lan connection (local area network), from there minecraft should be able to send and receive information from the other computers on the hamachi client.

Only drawback is that hamachi seems to like disconnecting, lagging and causing random encription/ data loss errors, a better solution is to port forward a server and run it off your computer.

Fatso was right. You can make a virtual Local Area Network (VLAN) that would work over any distance. Hamachi does this. It is probably easier to just host a server.

I was about to say that Kyle. If you have a little know how you can fairly easily set up a basic server and then open one port on your router and boom its online.