You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Object-Oriented Programming



절차적 프로그래밍

// 사용파트+구현파트
int main()
{
   printf("Hello, World!");
   printf("Hello, World! Again");
   return 0;
}

입력을 받아 명시된 순서대로만 처리하고 결과를 내는 방식



구조적 프로그래밍

//사용파트
int main()
{
   say("Hello, World!");
   say("Hello, World!");
   return 0;
}


//구현파트
int g_sayCount = 0;

void increseSayCount()
{
	g_sayCount++;
}

void say(string message)
{
	if(g_sayCount==0) 
		hello(message) 
	else
		helloAgain(message);

	increseSayCount();
}

void hello(string message)
{
	printf(message);
}

void helloAgain(string message)
{
	printf(message + "Again");
}

절차적 프로그래밍 방식의 개선된 형태 프로그램을 함수단위로 나누고 함수끼리 호출하는 방식
큰 문제를 해결하기 위해 문제를 작은 단위들로 나누어 해결하는 방식 Top-Down 방식



객체지향 프로그래밍

//사용파트
int main()
{
	TalkMan talkMan= new TalkMan();
	talkMan.say("Hello, World!");
	talkMan.say("Hello, World!");
	return 0;
}

//객체 정의파트
public class TalkMan(){

	public int sayCount = 0;

	public void increseSayCount()
	{
		sayCount++;
	}

	public void say(string message)
	{
		if(sayCount==0) 
			hello(message) 
		else
			helloAgain(message);

		increseSayCount();
	}

	public void hello(string message)
	{
		printf(message);
	}

	public void helloAgain(string message)
	{
		printf(message + "Again");
	}

}






  • No labels