갓똥
나는야 프로그래머
갓똥
전체 방문자
오늘
어제
  • 분류 전체보기 (186)
    • 프로그래밍 (146)
      • 자바 (9)
      • 안드로이드 (2)
      • 유니티 (20)
      • C++ (38)
      • C# (56)
      • HTML (2)
      • 파이썬 (3)
      • 자료구조 (2)
      • 알고리즘 (0)
      • 문제풀이 (4)
      • 디자인 패턴 (7)
      • 카카오톡 봇 (1)
      • 엑셀 (1)
      • 기타 (1)
    • 게임 (21)
      • 테일즈위버 (0)
      • 카이로소프트 (1)
      • 순위 (19)
      • 기타 (1)
    • 일상 (13)
      • 카페 (1)
      • 방탈출 (12)
    • 기타 (6)
      • 웃긴자료 (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 게임 디자인 패턴
  • c# coroutine
  • c# unboxing
  • 전세계게임매출순위
  • c# Thread
  • 글로벌게임매출
  • Unity Graph
  • 알고리즘
  • 전세계 게임 매출
  • C# boxing
  • 유니티 그래프
  • pc 게임 순위
  • 게임매출순위
  • 유니티 골드그래프
  • C++
  • c# delegate
  • c# collection
  • 모바일 게임 순위
  • C++ 상속
  • 롤 골드그래프
  • c# 코루틴
  • 강남 방탈출
  • 2020년 게임 매출
  • C# 예외 처리
  • 유니티 그래프 그리기
  • 게임 매출 순위
  • C++ 소멸자
  • C++ virtual
  • pc게임 순위
  • 자바

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갓똥
프로그래밍/C#

[C#] Collection과 Interface

[C#] Collection과 Interface
프로그래밍/C#

[C#] Collection과 Interface

2020. 4. 26. 15:27
728x90
반응형

1. 핵심 정리

using System;
using System.Collections.Generic;

clss Program {
    static void Main() {
        List<int> c1 = new List<int>();
        c1.Add(10);
        c1.Add(20);
        c1.Clear();
        int n = c1[0]; // IList<T>에 있는 메소드(인덱서)
        
        SortedSet<int> c2 = new SortedSet<int>();
        c2.Add(10);
        c2.Add(20);
        c2.Clear();
        int n2 = c2[0]; // error
    }
}

 

위의 코드에서 List는 동적배열이고 SortedSet은 트리구조이다.
분명 내부적으로 데이터를 다루는 코드는 다를텐데 요소를 추가하는 메소드는 Add로 같다.
또한 모든 요소를 지우는 Clear메소드도 같다.
다른 구조를 가지지만 메소드 이름이 같으니 쓰기 편한점이 있다.
이처럼 컬렉션을 만들 때 직접 만들기보단 interface기반으로 설계를 하면 좋을 것이다.

 ① 서로 다른 컬렉션에 있는 동일한 기능을 수행하는 메소드는 동일한 이름을 사용하는 것이 좋다.

    => interface 기반 설계

 

 ② Collection 관련 주요 인터페이스(Generic)

 

위의 두가지 구조 중 List의 경우 IList<T> 인터페이스를 구현했지만
SortedSet의 경우 IList<T> 인터페이스를 받지 않았다.
따라서 List는 배열과 같이 10번 라인과 같이 쓸 수 있지만
SortedSet은 16번 라인과 같이 에러가 난다.
728x90
반응형

'프로그래밍 > C#' 카테고리의 다른 글

[C#] Collection Method  (0) 2020.04.27
[C#] 열거자 (Enumerator)  (0) 2020.04.26
[C#] 컬렉션 (Collection)  (0) 2020.04.23
[C#] try ~ finally  (0) 2020.04.21
[C#] 예외 필터 (exception filter)  (0) 2020.04.20
  • 1. 핵심 정리
'프로그래밍/C#' 카테고리의 다른 글
  • [C#] Collection Method
  • [C#] 열거자 (Enumerator)
  • [C#] 컬렉션 (Collection)
  • [C#] try ~ finally
갓똥
갓똥
공부하며 알아가는 내용을 정리해 봅니다.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.