Lazy loading means delaying the loading of related data, until you specifically request for it.
For lazy loading Navigation property should be defined as public and virtual. Context class will not do lazy loading if property is not defined as virtual.
Lazy loading is default phenomenon.
When using POCO entity types, lazy loading is achieved by creating instance of derived proxy types and then overriding virtual properties.