프린이 입니다.

자바만 배웠다가 이번에 C++ 공부하고 있습니다.


자바는 반드시 클래스 안에 메소드를 선언 및 정의를 같이 해야 합니다만 C++에서는 클래스 안에 메소드를 선언만 해 놓고 나중에 바깥에서 정의를 할 수도 있더군요


ex ) 1. 클래스 내부에서 선언및 정의를 같이 하는 경우


class abc 

{

void print()

{

cout<< "hello" << endl;

}

}


ex) 2. 클래스 내부에서 선언만하고 외부에서 정의를 하는경우


class abc 

{

void print();

}


abc::print()

{

cout<< "hello" << endl;

}




두가지 차이점이 뭔가요? 이유가 있어서 2개를 같이 쓸 수 있는건지 그냥 가독성 때문에 프로그래머 원하는대로 쓰면 되는건지

프린이에게 답변좀 부탁함니다