본문 바로가기

메소드

LINQ 을 이용하여 ASP.NET SiteMap 쿼리하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 위에 ASP.NET SiteMap 이 있습니다. 이것을 가지고 LINQ 이라는 기술을 이용하여 어떻게 데이터 바인딩 컨트롤에 어떻게 처리하는지.. 그리고 특정 노드값을 추출하는 방법, 마지막으로 조건문을 기재하여 특정 노드값들만 바인딩하는 구문을 알아볼까 합니다. 1 2 우선 BulletedList 컨트롤에 바인딩을 할것이므로 VS 에서 해당 컨트롤을 드래그합니다. 1 2 3 4 5 6 7 8 9 XElement xelement = XElement.Load(Server.MapPath("~/web.sitemap")); var urlList = xelement.Descendants().Attribute..
C# 의 상속(Inheritance) 구현 설명(2) 이번에는 메소드를 이용해서 상속을 어떻게 구현하는지 살펴보죠. 여기서 메소드를 derived class 에서 new 키워드를 이용하여 base class 와 derived class 에 둘다 동일한 메소드를 구분하기 위해서 derived class 의 메소드에 new 키워드를 삽입합니다. 이는 메소드를 호출했을 경우, 어느 클래스의 메소드를 호출했는지 알 수 없기에 구분 차원에서 한것입니다. 따라서 이를 메소드 재정의라고 말합니다. 메소드를 호출하는 장면입니다. 둘다 객체를 생성하여 동일한 메소드를 호출하고 있음을 확인할 수 있습니다. 그럼 메소드 선언한 부분을 살펴보죠 상속을 했기 때문에 49줄 메소드가 구현한 것을 살펴보면 base class 의 메소드명을 가져와서 기술하고 있습니다. CallMe(a..
메소드 overloading (오버로딩) 에 대한 설명 이번에는 메소드 오버로딩에 대해 설명하고자 합니다. 영어로 overloading 이라고 하는데요. 풀어서 해석을 하자면, 같은 이름을 가진 여러개의 메소드라고 정의하면 쉽게 해석이 될 것 같네요. 그럼..이름이 동일하다면 구분은 어떻게 해요?라고 질문을 하는 분들이 있는데요. 그것은 메서드의 매개변수의 형을 보고 알수 있답니다. 먼저 오버로딩이 아닌 기본적인 메소드 방법으로 살펴보고 그 다음에 오버로딩으로 된 소스를 설명해 드리겠습니다. 위의 소스를 보면 메소드의 이름이 전부 다릅니다. 그리고 static 메소드라 인스턴스화 하지 않고 곧바로 클래스를 접근하여 매개변수에 값을 넘겨 출력을 하고 있습니다. 이것을 일일이 외우고 코딩하기에 너무 힘들지 않을까요? 그래서 메소드 이름을 동일하게 하고 매개변수만..
Params 키워드에 대한 설명 일반적인 메소드는 받아들이는 인자 개수가 고정되어 있답니다. 따라서 유동적으로 변하게 할려면 어떻게 처리해야 하는게 좋을까요? params 키워드를 이용한다면 인자 개수를 유동적으로 구현할 수 있답니다. 아래 소스를 간략히 설명을 하자면 배열형태이기 때문에 인자 개수를 구할 때는 Length 를 사용합니다. 자바에서는 length 소문자이죠. 꼭 대문자로 앞에 L을 기재해 주시기 바랍니다. 13번째줄 처럼 그냥 인자로 1부터 6까지의 int 형을 넘겨줍니다. 또한 15,17 번째줄 처럼 배열로 선언을 하여 int 형으로 넘겨줄 수 있답니다. posted by 심재운 (shimpark@gmail.com)
Method (함수)를 이용한 방법은? 이번에는 메소드의 용도가 무엇인지, 역할은 무엇인지를 알아보죠. 메소드는 함수라고도 하는데요. 또는 멤버함수라고도 하죠. 저는 메소드라는 말을 편히 씁니다. 여러분도 서적을 읽으시면서 해깔리지 마시기 바래요. 이번소스를 약간 변형했습니다. 메소드의 용도와 역할이 무엇인지를 살펴보죠. 결과를 보면... 변경된 소스내용만 빨간네모로 처리했습니다. 잘 보이실라나 모르겠네요. 설명도 적었는데요. 프로그램을 하셨다면 보시고 눈치챘을 거라 생각이 드네요. 허접한 소스인데 한번 보시죠. 39번 메소드의 안에 AutoGear 라는 변수를 출력하기 위해 멤버변수를 설정하고 접근제한자는 private 이든 public 이든 괜찮습니다. void 로 처리한 이유는 반환할 값이 없기 때문이죠. 44번 메소드에서 (int n)..