We didnt declare init method

So i wrote this piece of code:

#import <Foundation/Foundation.h>
#import “BNRPerson.h”

int main(int argc, const char * argv[]) {
@autoreleasepool {
BNRPerson *mikey=[[BNRPerson alloc] init];
NSLog(@"%p", mikey);
}
return 0;
}

In BNRPerson class we defined no init method. So how does init know what to do?

[quote]In BNRPerson class we defined no init method. So how does init know what to do?
[/quote]
Then, the init method of the parent class is invoked. If the parent class does not have an init method, the init method of its parent class is invoked, and so on.