<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kimkijeung.com &#187; polymorphism</title>
	<atom:link href="http://kimkijeung.com/tag/polymorphism/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimkijeung.com</link>
	<description>Interactive development,flash,Actionscript,Unity</description>
	<lastBuildDate>Sun, 24 Apr 2011 18:59:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Why abstract Method</title>
		<link>http://kimkijeung.com/2006/11/20/why-abstract-method/</link>
		<comments>http://kimkijeung.com/2006/11/20/why-abstract-method/#comments</comments>
		<pubDate>Sun, 19 Nov 2006 15:38:53 +0000</pubDate>
		<dc:creator>vkimone</dc:creator>
				<category><![CDATA[Programming-OOP&OOD]]></category>
		<category><![CDATA[abstract class]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[polymorphism]]></category>

		<guid isPermaLink="false">http://vkimone.inblog.kr/?p=361</guid>
		<description><![CDATA[상속가능한 메소드 구현(즉, 실제본체가 있는 메소드)은 상위 클래스에 집어넣기에 딱 좋다. 하지만 추상 클래스에서는 하위 클래스에서 유용하게 써먹을 수 있는 일반적인 코드를 전혀 만들 수 없기 때문에 메소드를 구현한다는 것이 아예 말이 안 되는 경우가 종종 있다. 추상메소드를 만드는 이유는 실제 메소드 코드를 전혀 집어넣지는 않더라도 일련의 하위클래스를 위한 규약(protocol)의 일부를 정의하기 위한 것이다. 그렇다면 [...]]]></description>
			<content:encoded><![CDATA[<p>상속가능한 메소드 구현(즉, 실제본체가 있는 메소드)은 상위 클래스에 집어넣기에 딱 좋다.<br />
하지만 추상 클래스에서는 하위 클래스에서 유용하게 써먹을 수 있는 일반적인 코드를 전혀 만들 수 없기 때문에 메소드를 구현한다는 것이 아예 말이 안 되는 경우가 종종 있다. 추상메소드를 만드는 이유는 실제 메소드 코드를 전혀 집어넣지는 않더라도 일련의 하위클래스를 위한 규약(protocol)의 일부를 정의하기 위한 것이다.</p>
<p>그렇다면 장점은?&#8230;&#8230;.</p>
<p>OOP의 핵심이라 할 수 있는 다형성(polymorphism)이다.<br />
상위클래스 유형을 메소드의 인자나 리턴유형 또는 배열유형으로 쓸 수 있게 만드는 능력이 필요하다. 그래야만 새로운 유형을 처리하기 위한 새로운 메소드를 추가하거나 기존의 메소드를 고칠 필요없이 프로그램에 새로운 하위클래스 유형을 추가할 수 있기 때문이다.</p>
<p>플래시에서는 추상클래스를 지원하지는 않는다.<br />
하지만 추상클래스 보다 더 추상적인 개념인 인터페이스(interface)가 존재한다. 물론 자바에서 사용되는 인터페이스와 똑같다.<br />
앞으로 사용될 AS3.0 에서도 추상클래스는 지원하지 않지만 인터페이스 만으로도 비슷한 역할을 구현할 수 있을 것이다. </p>
]]></content:encoded>
			<wfw:commentRss>http://kimkijeung.com/2006/11/20/why-abstract-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

