<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.newiki.net/w/index.php?action=history&amp;feed=atom&amp;title=C%EC%83%B5</id>
	<title>C샵 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.newiki.net/w/index.php?action=history&amp;feed=atom&amp;title=C%EC%83%B5"/>
	<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;action=history"/>
	<updated>2026-04-14T16:57:25Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=30908&amp;oldid=prev</id>
		<title>2023년 2월 9일 (목) 16:53에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=30908&amp;oldid=prev"/>
		<updated>2023-02-09T16:53:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023년 2월 9일 (목) 16:53 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;21번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;21번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다. 옵션의 이름에서 알 수 있는 것처럼 포인터 연산은 unsafe, 즉 안전하지 않으므로 안 쓸 수 있다면 안 쓰는 게 당연히 좋다. unsafe 옵션을 써야 할 정도로 포인터 연산까지 필요한 프로그램이라면 아마도 C#보다는 결국은 C/C++를 쓰겠지만.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다. 옵션의 이름에서 알 수 있는 것처럼 포인터 연산은 unsafe, 즉 안전하지 않으므로 안 쓸 수 있다면 안 쓰는 게 당연히 좋다. unsafe 옵션을 써야 할 정도로 포인터 연산까지 필요한 프로그램이라면 아마도 C#보다는 결국은 C/C++를 쓰겠지만.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 [[MS]] 기술은 거의가 [[윈도우]]에서만 쓸 수 있었기 때문에 C# 역시 [[윈도우]] 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이었으나... 리액트 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;네이티브에 Flutter까지 &lt;/del&gt;등장해서 많이 위축되긴 했다. &amp;lt;s&amp;gt;역시 MS는 모바일은 안 되나 봐...&amp;lt;/s&amp;gt; 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 [[MS]] 기술은 거의가 [[윈도우]]에서만 쓸 수 있었기 때문에 C# 역시 [[윈도우]] 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이었으나... &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;리액트 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;네이티브]]에 [[Flutter]]까지 &lt;/ins&gt;등장해서 많이 위축되긴 했다. &amp;lt;s&amp;gt;역시 MS는 모바일은 안 되나 봐...&amp;lt;/s&amp;gt; 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:프로그래밍 언어]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:프로그래밍 언어]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=30907&amp;oldid=prev</id>
		<title>2023년 2월 9일 (목) 16:53에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=30907&amp;oldid=prev"/>
		<updated>2023-02-09T16:53:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023년 2월 9일 (목) 16:53 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;17번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;17번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;원래 [[MS]]는 [[자바]]를 [[윈도우]] 운영체제에서 돌릴 수 있는 J++이라는 것을 만든 적이 있었다. [[윈도우]] API에 접근해서 네이티브 프로그램을 만들 수 있는 기능을 지원했는데, 당시 소유권을 가지고 있던 [[선마이크로시스템즈]]에서는 [[자바]]의 플랫폼 독립이라는 특성을 훼손한 [[MS]]에게 소송을 걸어버렸고 결국 J++을 포기한 [[MS]]가 [[.NET 프레임워크]]를 내놓으면서 아예 새로 만든 것이 C#이다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;원래 [[MS]]는 [[자바]]를 [[윈도우]] 운영체제에서 돌릴 수 있는 J++이라는 것을 만든 적이 있었다. [[윈도우]] API에 접근해서 네이티브 프로그램을 만들 수 있는 기능을 지원했는데, 당시 소유권을 가지고 있던 [[선마이크로시스템즈]]에서는 [[자바]]의 플랫폼 독립이라는 특성을 훼손한 [[MS]]에게 소송을 걸어버렸고 결국 J++을 포기한 [[MS]]가 [[.NET 프레임워크]]를 내놓으면서 아예 새로 만든 것이 C#이다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. [[자바]] 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;C&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;++]] &lt;/del&gt;배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. [[자바]] 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 C&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &lt;/ins&gt;배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. 옵션의 이름에서 알 수 있는 것처럼 포인터 연산은 unsafe, 즉 안전하지 않으므로 안 쓸 수 있다면 안 쓰는 게 당연히 좋다. unsafe 옵션을 써야 할 정도로 포인터 연산까지 필요한 프로그램이라면 아마도 C#보다는 결국은 C/C++를 쓰겠지만&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 [[MS]] 기술은 거의가 [[윈도우]]에서만 쓸 수 있었기 때문에 C# 역시 [[윈도우]] 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;수준이다&lt;/del&gt;. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 [[MS]] 기술은 거의가 [[윈도우]]에서만 쓸 수 있었기 때문에 C# 역시 [[윈도우]] 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;수준이었으나&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.. 리액트 네이티브에 Flutter까지 등장해서 많이 위축되긴 했다. &amp;lt;s&amp;gt;역시 MS는 모바일은 안 되나 봐...&amp;lt;/s&amp;gt; &lt;/ins&gt;자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:프로그래밍 언어]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:프로그래밍 언어]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=24476&amp;oldid=prev</id>
		<title>Dennis: 문자열 찾아 바꾸기 - &quot;&lt;/source&quot; 문자열을 &quot;&lt;/syntaxhighlight&quot; 문자열로</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=24476&amp;oldid=prev"/>
		<updated>2021-01-16T00:36:04Z</updated>

		<summary type="html">&lt;p&gt;문자열 찾아 바꾸기 - &amp;quot;&amp;lt;/source&amp;quot; 문자열을 &amp;quot;&amp;lt;/syntaxhighlight&amp;quot; 문자열로&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2021년 1월 16일 (토) 00:36 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;7번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;7번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C#&amp;lt;ref&amp;gt;미디어위키에서는 제목에 # 기호를 쓰면 표제어의 하부 섹션을 뜻하는 것으로 해석되기 때문에 표제어에 #를 쓰지 못한다. 그래서 표제어를 &amp;#039;C샵&amp;#039;으로 쓴 것. 표준 표기법으로는 C샤프가 맞지만 C샵이 워낙에 널리 퍼진지라...&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C#&amp;lt;ref&amp;gt;미디어위키에서는 제목에 # 기호를 쓰면 표제어의 하부 섹션을 뜻하는 것으로 해석되기 때문에 표제어에 #를 쓰지 못한다. 그래서 표제어를 &amp;#039;C샵&amp;#039;으로 쓴 것. 표준 표기법으로는 C샤프가 맞지만 C샵이 워낙에 널리 퍼진지라...&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=24464&amp;oldid=prev</id>
		<title>Dennis: 문자열 찾아 바꾸기 - &quot;&lt;source &quot; 문자열을 &quot;&lt;syntaxhighlight &quot; 문자열로</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=24464&amp;oldid=prev"/>
		<updated>2021-01-16T00:32:34Z</updated>

		<summary type="html">&lt;p&gt;문자열 찾아 바꾸기 - &amp;quot;&amp;lt;source &amp;quot; 문자열을 &amp;quot;&amp;lt;syntaxhighlight &amp;quot; 문자열로&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2021년 1월 16일 (토) 00:32 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source &lt;/del&gt;lang=&quot;c#&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;syntaxhighlight &lt;/ins&gt;lang=&quot;c#&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;using System;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;using System;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=19820&amp;oldid=prev</id>
		<title>2020년 2월 18일 (화) 02:36에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=19820&amp;oldid=prev"/>
		<updated>2020-02-18T02:36:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2020년 2월 18일 (화) 02:36 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;source lang=&quot;c#&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;using System;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;class MainClass {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  public static void Main (string[] args) {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    Console.WriteLine (&quot;You&#039;re watching NeWiki.&quot;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/source&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C#&amp;lt;ref&amp;gt;미디어위키에서는 제목에 # 기호를 쓰면 표제어의 하부 섹션을 뜻하는 것으로 해석되기 때문에 표제어에 #를 쓰지 못한다. 그래서 표제어를 &amp;#039;C샵&amp;#039;으로 쓴 것. 표준 표기법으로는 C샤프가 맞지만 C샵이 워낙에 널리 퍼진지라...&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;C#&amp;lt;ref&amp;gt;미디어위키에서는 제목에 # 기호를 쓰면 표제어의 하부 섹션을 뜻하는 것으로 해석되기 때문에 표제어에 #를 쓰지 못한다. 그래서 표제어를 &amp;#039;C샵&amp;#039;으로 쓴 것. 표준 표기법으로는 C샤프가 맞지만 C샵이 워낙에 널리 퍼진지라...&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=19818&amp;oldid=prev</id>
		<title>2020년 2월 18일 (화) 02:32에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=19818&amp;oldid=prev"/>
		<updated>2020-02-18T02:32:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2020년 2월 18일 (화) 02:32 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;12번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;12번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;윈도우에서만 &lt;/del&gt;쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;MS&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;기술은 거의가 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[윈도우]]에서만 &lt;/ins&gt;쓸 수 있었기 때문에 C# 역시 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;윈도우&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:프로그래밍 언어]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=17395&amp;oldid=prev</id>
		<title>2019년 12월 18일 (수) 01:51에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=17395&amp;oldid=prev"/>
		<updated>2019-12-18T01:51:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2019년 12월 18일 (수) 01:51 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;10번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;10번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. [[자바]] 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. [[자바]] 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다. 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많고, 특히 좀 더 편하게 프로그래밍 할 수 있다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref&amp;gt;다만 스마트 포인터 기능을 사용하면 delete를 사용하지 않아도 사용이 끝난 포인터가 해제되므로 한결 낫다.&amp;lt;/ref&amp;gt; &lt;/ins&gt;반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; 반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=8781&amp;oldid=prev</id>
		<title>2017년 1월 28일 (토) 22:56에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=8781&amp;oldid=prev"/>
		<updated>2017-01-28T22:56:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2017년 1월 28일 (토) 22:56 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;10번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;10번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. [[자바]] 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. [[자바]] 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;많을 것이다&lt;/del&gt;. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다. 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;많고, 특히 좀 더 편하게 프로그래밍 할 수 있다&lt;/ins&gt;. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다. 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;반면 &amp;lt;del&amp;gt;만악의 근원인&amp;lt;/del&amp;gt; 포인터 연산은 [[C++]]처럼 써먹을 수 있다. 다만 이 기능을 쓰려면 unsafe 키워드로 지정해 주고  /unsafe 옵션으로 컴파일 해야 한다.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=8780&amp;oldid=prev</id>
		<title>2017년 1월 28일 (토) 22:52에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=8780&amp;oldid=prev"/>
		<updated>2017-01-28T22:52:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2017년 1월 28일 (토) 22:52 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;8번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;8번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;원래 [[MS]]는 [[자바]]를 [[윈도우]] 운영체제에서 돌릴 수 있는 J++이라는 것을 만든 적이 있었다. [[윈도우]] API에 접근해서 네이티브 프로그램을 만들 수 있는 기능을 지원했는데, 당시 소유권을 가지고 있던 [[선마이크로시스템즈]]에서는 [[자바]]의 플랫폼 독립이라는 특성을 훼손한 [[MS]]에게 소송을 걸어버렸고 결국 J++을 포기한 [[MS]]가 [[.NET 프레임워크]]를 내놓으면서 아예 새로 만든 것이 C#이다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;원래 [[MS]]는 [[자바]]를 [[윈도우]] 운영체제에서 돌릴 수 있는 J++이라는 것을 만든 적이 있었다. [[윈도우]] API에 접근해서 네이티브 프로그램을 만들 수 있는 기능을 지원했는데, 당시 소유권을 가지고 있던 [[선마이크로시스템즈]]에서는 [[자바]]의 플랫폼 독립이라는 특성을 훼손한 [[MS]]에게 소송을 걸어버렸고 결국 J++을 포기한 [[MS]]가 [[.NET 프레임워크]]를 내놓으면서 아예 새로 만든 것이 C#이다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. 자바 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 [[C++]]의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 [[C++]]처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;자바&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[C++]] 프로그래머라면 좀 더 친숙한 부분이 많을 것이다. 무엇보다도 [[가비지 컬렉션]] 기능을 기본 지원하므로 [[C++]] 프로그래머들을 가장 괴롭히는 메모리 할당/반환 문제에서 해방될 수 있다. 예를 들어 [[C++]]라면 new 키워드로 새로운 클래스 객체를 만들었다면 더 이상 사용하지 않을 때 delete로 이를 해제해 주어야 한다. 클래스 안에서 새로운 메모리 할당이 있었다면 이 역시 해제해 줘야 한다. 그래서 [[C++]]에서는 소멸자 활용이 무척 중요했다. 반면 C#에서는 가비지 컬렉터가 알아서 해제해 주므로 뒷일 생각 안하고 객체를 마음껏 만들어도 된다.&amp;lt;ref&amp;gt;다만 파일이나 [[데이터베이스]] 연결과 같은 자원을 새로 받았을 때는 다 쓰고 나서 빨리 해제하는 문제를 생각해 줘야 한다. 나중에 처리될 수도 있지만 가비지 컬렉터가 그 정도까지는 못할 수도 있는 데다가 이들 자원에는 그 수가 제한되어 있으므로 빨리 소진되어 오류를 일으키는 원인이 되기 때문이다. C#에서는 using을 잘 사용하면 간편하게 처리할 수 있다.&amp;lt;/ref&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .[[NET 프레임워크]]에 묶여 있는 언어였고 [[.NET]]이 윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. 하지만 모노 프로젝트를 통해 [[.NET 프레임워크]]를 [[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 [[윈도우]] 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
	<entry>
		<id>https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=8769&amp;oldid=prev</id>
		<title>2017년 1월 28일 (토) 13:22에 Dennis님의 편집</title>
		<link rel="alternate" type="text/html" href="https://www.newiki.net/w/index.php?title=C%EC%83%B5&amp;diff=8769&amp;oldid=prev"/>
		<updated>2017-01-28T13:22:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2017년 1월 28일 (토) 13:22 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;3번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;3번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[마이크로소프트]]에서 내놓은 프로그래밍 언어로, #의 의미는 두 가지가 있다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[마이크로소프트]]에서 내놓은 프로그래밍 언어로, #의 의미는 두 가지가 있다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 음악 기호로서 #은 반음 올린다(augmented, 증강)는 의미를 가지고 있다. 즉 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C를 &lt;/del&gt;증강시켰다는 의미를 가지고 있다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 음악 기호로서 #은 반음 올린다(augmented, 증강)는 의미를 가지고 있다. 즉 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[C (프로그래밍 언어)|C]]를 &lt;/ins&gt;증강시켰다는 의미를 가지고 있다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* #을 쪼개 보면 ++++가 된다. 즉 C++보다 더욱 더 진보된 언어라는 의미를 가지고 있다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* #을 쪼개 보면 ++++가 된다. 즉 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;C++&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;보다 더욱 더 진보된 언어라는 의미를 가지고 있다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;원래 [[MS]]는 [[자바]]를 [[윈도우]] 운영체제에서 돌릴 수 있는 J++이라는 것을 만든 적이 있었다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;바이트코드가 아닌 &lt;/del&gt;[[윈도우]] 네이티브 프로그램을 만들 수 있는 기능을 지원했는데, 당시 소유권을 가지고 있던 [[선마이크로시스템즈]]에서는 [[자바]]의 플랫폼 독립이라는 특성을 훼손한 [[MS]]에게 소송을 걸어버렸고 결국 J++을 포기한 [[MS]]가 [[.NET 프레임워크]]를 내놓으면서 아예 새로 만든 것이 C#이다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;원래 [[MS]]는 [[자바]]를 [[윈도우]] 운영체제에서 돌릴 수 있는 J++이라는 것을 만든 적이 있었다. [[윈도우]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;API에 접근해서 &lt;/ins&gt;네이티브 프로그램을 만들 수 있는 기능을 지원했는데, 당시 소유권을 가지고 있던 [[선마이크로시스템즈]]에서는 [[자바]]의 플랫폼 독립이라는 특성을 훼손한 [[MS]]에게 소송을 걸어버렸고 결국 J++을 포기한 [[MS]]가 [[.NET 프레임워크]]를 내놓으면서 아예 새로 만든 것이 C#이다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 C++의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 C++처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[자바]]의 단점을 여러 가지로 개선시켰기 때문에 프로그래밍 언어 자체로 보면 장점이 많다. 한편으로는 [[자바]] 이후의 객체지향 언어들이 [[자바]]의 특징을 많이 이어받았기 때문에 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;C++&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;의 개념을 많이 받은 C#는 차이점을 보이는데, 예를 들면 [[자바]] 계열 언어는 클래스 메소드가 기본적으로 오버로딩을 할 수 있고 메소드를 정의할 때 final 키워드를 줘야 오버로딩을 막을 수 있는 것과는 반대로 C#는 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;C++&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&gt;처럼 오버로딩이 기본적으로는 안 되고 메소드에 virtual 키워드를 줘야 오버로딩을 할 수 있다&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. 자바 프로그래머들에게는 미묘한 차이 때문에 헷갈리는 부분도 꽤 있지만 둘 다 알고 보면 [[C++]]를 조상으로 하고 있는지라 공통점이 훨씬 더 많아서 [[자바]] 프로그래머라면 [[C++]] 배우기가 어렵지 않고 그 반대도 마찬가지다&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .NET &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;프레임워크에 &lt;/del&gt;묶여 있는 언어였고 .&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NET이 &lt;/del&gt;윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; 하지만 모노 프로젝트를 통해 .NET &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;프레임워크를 &lt;/del&gt;[[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 윈도우 감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[MS]]라는 곳이 워낙에 [[오픈 소스]]에 대해 적대감이 많았고 MS 기술은 거의가 윈도우에서만 쓸 수 있었기 때문에 C# 역시 윈도우 전용 언어였다.&amp;lt;ref&amp;gt;정확히는 C#은 .&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;NET &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;프레임워크]]에 &lt;/ins&gt;묶여 있는 언어였고 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NET]]이 &lt;/ins&gt;윈도우 전용이었기 때문이다.&amp;lt;/ref&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;이런 점에서는 [[애플]] 운영체에 묶여 있는 [[오브젝티브C]]나 [[스위프트]]와 비슷한 처지라 할 수 있다. &lt;/ins&gt;하지만 모노 프로젝트를 통해 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;.NET &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;프레임워크]]를 &lt;/ins&gt;[[리눅스]]에서 쓸 수 있는 길이 열리면서 C#도 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;윈도우&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;감옥에서 벗어났고, 모노 프로젝트가 자마린으로 발전하면서 이제는 [[안드로이드]], [[iOS]], [[윈도우 모바일]]까지 같이 지원하는 언어가 되어서 새롭게 조명을 받고 있다. 게다가 최근 [[MS]]가 [[오픈 소스]]를 포용하고 적극 활용하는 쪽으로 정책을 180도 바꾸면서 원래 유료였던 자마린까지 무료는 물론이고 아예 오픈 소스로 풀어버렸기 때문에 더더욱 관심이 커지고 있는 상태다. 아직까지 모바일 크로스플랫폼 개발 언어로는 [[자바스크립트]]가 널리 쓰이고 있지만 [[자마린]]의 성장세도 무시할 수 없는 수준이다. 자세한 내용은 [[자마린]] 항목 참조.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{각주}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dennis</name></author>
	</entry>
</feed>