'세미나'에 해당되는 글 4건
- 2009/02/25 [Hoons C# 스터디 2009 1기] 3주차 세미나 / 발표 내용 정리 (2)
- 2008/06/16 REMIX08 RIA, UX의 세계
- 2008/05/07 Mix08 ASP.NET MVC
- 2008/04/10 MS Heros Happen here 세미나 자료
혹시 못오신 분이나 정리 못 하신분 또는 스터디를 듣지 않는 분을 위해 간단히 정리해 봤어요~
참고용으로 한번 보세요~~
(Office 2007 One Note에 있던 내용을 그대로 복사해서 넣어서 조금 깨질지 몰라요~)
발표 내용
발표 내용
Class? Object?
- 속성, 역할을 정의한 틀
- 객체와 클래스의 관계
- 객체 : 어떠한 문제
- 클래스 : 이들에 맞는 상황을 설명하는 것
- Class = 붕어빵 틀 , Object = 찍어낸 붕어빵
- Abstract Class ( 추상 클래스 )
- 어떤 클래스를 만들어 내기 위해서 기본적인 기능을 포함하는 클래스
- 객체로 만들 수 없는 클래스
- 이를 상속받는 클래스가 이러한 기본기능이 있어야 한다는 것을 지정한다.
- 추상 클래스의 예
- 붕어빵 틀과 와플빵 틀의 기본인 '무언가 만드는 틀' 이라는 추상 클래스
- Interface? (인터페이스)
- 객체 자체 or 객체와 객체를 엮어주기 위한 기능, 속성들의 약속(표준)
- 마우스 클래스 : IBluetooth, IUSB, IPS2 어떤 인터페이스를 받아 마우스를 구현할 것인가?
- IDisposable 인터페이스의 예
- IDisposable 인터페이스는 Dispose() 라는 메소드를 구현해 주어야 한다.
- 객체의 메모리를 해제할 수 있도록 구현하고 싶을 때 이 인터페이스를 상속 받는다.
- Interface vs Abstract Class
- 추상클래스(or class)는 단일 상속만 가능하다 : 상하 단계의 상속
- Interface의 구현은 여러가지를 받아 구현할 수 있다. : 기능적으로 추가되는 수평적인 상속
세미나 내용
- Interface, Abstract Class, Class
- Interface
- 인터페이스의 상속 = implement (구현) , 추가되는 기능들을 넣는 형식
- 인터페이스의 상속을 받으면 '무조건' 그 안의 것들을 모두 구현해야 한다.
- 이기종간의 통신에 객체를 형태를 알리기 위해
- Abstract Class
- 추상클래스의 상속 = extends (확장) , 설계된 틀을 구현 / 확장 하는 형식
- Class
- 구현된 설계도
- OOP(Object Oriented Programming)
- 상속(Inheritance)
- sealed 키워드 : 성능상 장점이 있다
- 왜? : 더 이상 상속 받지 않는다는 것을 알려주기 때문에
- Class 선언시 앞에 sealed 라는 키워드를 붙여주면 된다.
- Ex) sealed class Bar : Foo , Idisposable { }
- 추상화(Abstraction)
- 다형성(Polymorphism)
- Overide
- 상속 받은 메소드를 (virtual 등으로 선언된) 받아 재정의 할 때 사용한다.
- virtual - override 둘은 같이 다닌다
- new 키워드를 붙여 메소드를 정의하는 것과 비교된다
- 다음 예제를 보자
// virtual - override를 사용할 때
class Foo
{
public virtual void M()
{
Console.Write("Foo.M()");
}
}
class Bar : Foo
{
public override void M()
{
Console.Write("Bar.M()");
}
}
// New 키워드를 사용할 때
class Foo
{
public void M()
{
Console.Write("Foo.M()");
}
}
sealed class Bar : Foo
{
public new void M()
{
Console.Write("Bar.M()");
}
}
class Program
{
static void Main(string[] args)
{
Foo foo = new Foo();
Bar bar = new Bar();
foo.M();
MM(foo);
bar.M();
MM(bar);
MM((Foo)bar); // virtual과 new의 차이
/*
* virtual - override 를 사용한 경우
* (재정의 되어 자식 클래스에 M()은 완전한 재정의가 되었다)
* Foo.M()
* Foo.M()
* Bar.M()
* Bar.M()
* Bar.M() // 재정의 되어 Bar가 나왔다
*
* new를 사용한 경우
* (재정의가 아니고 Bar에서만 쓸 M을 선언한 것이 된다.)
* Foo.M()
* Foo.M()
* Bar.M()
* Foo.M() // Foo의 특성이 그대로 나타난다
* Foo.M() // 재정의가 덮어 씌워지지 않고 Foo가 실행되었다
*/
}
}
- Overload : 같은 이름의 메소드로 다양한 형식의 인자를 받도록 한다
- void Abc(string a)
- void Abc(int a)
- void Abc(bool a)
- ...
- 정보은닉(Encapsulation)
- Property
- Get , Set : 둘 다 또는 둘 중 한가지만 노출 할 수 있다.
- Get set을 이용해 접근을 제어한다
- 내부에 선언된 내부의 멤버변수에 직접 접근을 막을 수 있다.
- Dispose Pattern
- IDisposable 이라는 인터페이스를 사용한다.
- 이 인터페이스는 Dispose() 메소드를 재정의(Override) 해야 한다.
- 구현의 예
class DbManager : IDisposable
{
~DbManager() // Finalize
{
this.Dispose();
}
#region IDisposable 의 인터페이스를 구현한 부분
override void Dispose() // Dispose
{
// 어쩌고 저쩌고
}
#endregion
}
- Finalize
- 객체가 정말 소멸될 때 호출되므로 Dispose와는 다르다.
- 클래스의 명칭과 동일한 메소드
- 반환 타입 / 접근 제어자를 사용할 수 없다.
- 앞부분에 ~ 를 붙여 구분 지어주면 객체가 소멸될 때 자동으로 호출된다
~DbManager() // Finalize
{
this.Dispose();
}
- Dispose와 같이 사용하는 C# 구문 "using"
- C# 맨위에 쓰는 using과 다르다
- 아래는 using의 사용 구문
using(DbManager dbm = new DbManager)
{
// 이런저런 코드
// 이 안에서는 using 안에서 선언한 것이 살아 있다.
} // 여기서 dbm은 소멸된다 Finalize
// 에러가 발생한다 dbm = null 이기 때문에 NullReferenceException이 발생한다
dbm.어떤메소드();
- 기타 팁 : Managed 코드를 Dispose할때 GC.SuppressFinalize(this); 를 호출 한다.
- SqlHelper 의 예
public sealed class SqlHelper // sealed 를 이용해서 더 이상 상속받지 못하도록 한다.
{
// 생성자의 오버로드
// 기본적으로 지정된 위치의 연결 문자열을 가져옴
public SqlHelper() : this(ConfigurationManager.ConnectionStrings["connstr"].ToString());
public SqlHelper(string connStr) { … };
// 실행할 쿼리 메소드의 오버로드
public bool ExecuteNonQuery(string query)
{
List<string> queries = new List<string>(1);
queries.Add(query);
this.ExecuteNonQuery(queries);
}
public bool ExecuteNonQuery(List<string> queries) { … };
}
참고하세요 ^ ^
PS . 이 글은 Hoons.kr / i-ruru.com 두 곳에서만 볼 수 있습니다. 컨텐츠 변경 / 상업적 이용을 허용하지 않습니다. 링크만 참조해주세요~
'.NET > C#' 카테고리의 다른 글
| 정규표현식(Regular Expression) Href URL 캡쳐(Capture) (0) | 2009/03/02 |
|---|---|
| 여러줄을 한번에 StringBuilder로 감싸는 방법~! - Editplus 정규표현식, 바꾸기 기능 (4) | 2009/02/26 |
| [Hoons C# 스터디 2009 1기] 3주차 세미나 / 발표 내용 정리 (2) | 2009/02/25 |
| Use WebBrowser and shdocvw.dll for POST Data sending (0) | 2009/02/16 |
| C# - Excel Sheet to DataTable (2) | 2009/01/14 |
| C# ?? 연산자(Operator) (0) | 2009/01/06 |
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032379648&Culture=ko-KR
리믹스 08 행사입니다. 이미 날자는 지났지만 - _-;;
UX 관련 행사이니 아마도 Agenda에 나오는 대로 대부분 화려한 사용자 경험을 위주로 하는 Silverlight에 관한 행사가 아닐까 하네요.
해당 분야에 지식이 없더라도 RIA와 SilverLight에 제공되는 화려하고 멋진 경험을 심심하지 않게 보고 오게 되지 않을지 ㅎㅎ
지겨운 세미나들과 비교해 UX 관련 세미나는 볼거리도 많고 화려한 점 때문에 지루하지 않던데 볼만하지 않을까 싶네요.
다녀오신분들 있으시면 자료 좀 공유해주세요 -ㅁ -;
[REMIX08]에 여러분을 초대합니다.
기술과 혁신은 계속 되고 있습니다.
발전하는 기술이 가져 올 새로운 비지니스 기회에 대한 기대도 높아져 갑니다.
웹 기술 역시 예외가 아닙니다. 전 세계가 주목하는 차세대 웹 기술 역시 이제 요소 기술 자체를 넘어서 비지니스 가치의 맥락에서 이해되어야 합니다.
6월11일, REMIX08에서 Beyond RIA, 비지니스로서의 기술을 만나는 시간에 지금 바로 미래를 맞이하고자 하는 당신을 초대합니다.
Agenda
09:00 ~ 09:30 Registration
09:30 ~ 12:00 Keynote
유재성 대표이사, Forest Key, Matt Gibbs, 김국현 부장
12:00 ~ 13:00 Lunch
13:00 ~ 14:00 WPF와 Silverlight을 이용한 Seamless UX 솔루션/서비스 구현
이노티브 - 김대희, 이준희, 이준석
14:00 ~ 14:10 Break
14:10 ~ 15:10 Enterprise UX 솔루션 구축과 개발자/디자이너 협업
Megazone - 조영국 팀장, 한국마이크로소프트 김영욱 차장
15:10 ~ 15:30 Coffee Break
15:30 ~ 16:30 Silverlight로 구현하는 미디어 서비스와 그 미래
훈스닷넷 - 박경훈
16:30 ~ 16:40 Break
16:40 ~ 17:40 Silverlight의 어제와 오늘 그리고 RIA를 넘어
한국마이크로소프트 - 김대우 과장
17:40 ~ 17:50 경품추첨
행사안내
- 참가비는 무료이며, 본 행사에 참석하시기 위해서는 반드시 사전등록을 해주시기 바랍니다.
- 주차권이 제공되지 않사오니, 가급적 대중교통을 이용해 주시기 바랍니다.
문의처
Tel : 02-545-5836
E-mail : remix@mplanners.co.kr
[출처] Remix '08 세미나 (All Day) (가오니) |작성자 쇼티
'.NET > Silverlight' 카테고리의 다른 글
| Silverlight - Network (2) | 2009/04/30 |
|---|---|
| Silverlight domain access control (0) | 2009/04/28 |
| REMIX08 RIA, UX의 세계 (0) | 2008/06/16 |
| Programming Silverlight with JavaScript (0) | 2008/05/28 |
| Silver light와 Flickr 를 이용한 Image 슬라이드 (0) | 2008/02/13 |
| Silverlight와 Windows Live Open API Service의 연동 (0) | 2008/02/12 |
Mix08에서 'Scott Hanselman'이 ASP.NET MVC에 대해 세미나하는 영상입니다.
영상은 다음 사이트에서 보실 수 있고요.
http://sessions.visitmix.com/?selectedSearch=T22
해당 자료는 다음과 같은 형태로 다운로드 받을 수 있습니다.
- ASP.NET MVC Preview 2 - Mix 08 - Silverlight
- ASP.NET MVC Preview 2 - Mix 08 - WMV
- ASP.NET MVC Preview 2 - Mix 08 - iPod
- ASP.NET MVC Preview 2 - Mix 08 - Zune
- ASP.NET MVC Preview 2 - PowerPoint (PPTX)
- Comment on the ASP.NET MVC Preview 2 Talk
- UPDATED: ASP.NET MVC Preview 2 Cheesy Northwind Sample Code
관련된 페이지는
ASP.NET MVC Session at Mix08, TDD and MvcMockHelpers
이곳에서 확인하실 수 있고 ASP.NET MVC 패턴을 적용한 신개념을 이해하는데 큰 도움이 되시리라 생각됩니다.
Mocking is becoming more and more an important tool for developers. Here is some mocking source that will get you started with ASP.NET MVC
Author: Scott Hanselman
Published Date: Wed, 19 Mar 2008 15:03:54 -0700
http://www.hanselman.com/blog/
'.NET > C#' 카테고리의 다른 글
| C# 웹페이지를 읽어 문자열로 반환하는 코드 (2) | 2008/06/18 |
|---|---|
| Reflection을 이용해 C# DLL 동적로드 (0) | 2008/06/10 |
| Mix08 ASP.NET MVC (0) | 2008/05/07 |
| 상속받은 클래스에서 Override, new, 로컬메소드의 차이 예제 (0) | 2008/04/14 |
| .NET C# Base64 Decode (0) | 2008/04/12 |
| Charlie Calvert's Community Blog : Link to Everything: A List of LINQ Providers (0) | 2008/04/03 |
2008년 HEROS Happen {Here} 라는 이름으로 진행된 세미나의 발표자료들이 사이트에 게시 되었네요.
참석하지 못해 세미나 내용을 못보신분들은 아래 사이트에서 발표자료라도 참고해보면 되겠습니다.
http://www.microsoft.com/korea/heroeshappenhere/events/default.mspx
'.NET' 카테고리의 다른 글
| DevPia 에서 스크랩한 링크들 (0) | 2009/02/12 |
|---|---|
| 고품질 코드 작성 (0) | 2008/04/18 |
| MS Heros Happen here 세미나 자료 (0) | 2008/04/10 |
| VS Setup Project - 설치 배포 패키지 제작 (0) | 2007/12/21 |
| Visual Studio 2008 and .NET Framework 3.5 Training Kit (0) | 2007/12/19 |
| 메신져의 현재상태 정보 출력기능 위한 Client side API NameCtrl (1) | 2007/12/11 |




Prev




