NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Java Java vs C# (Package와 Namespace, 그리고 Import와 Using) - 2부

    페이지 정보

    본문

    Java의 Package와 C#의 Namespace는 같은 역할을 합니다. 이 둘의 역할은 클래스들의 묶음으로 수 많은 클래스를 관리하기 위해 생겨난 개념입니다. 윈도우의 폴더를 생각하면 이해하기 쉬운데요. 예를 들면 귀천도애(歸天道哀, 김민종)처럼 영화도 있고 음악도 있는 경우입니다. 내 취미 폴더에 파일명이 같은 영화와 음악을 동시에 저장할 수 없죠. 따라서 내 취미 폴더에 영화와 음악 폴더를 만들고 각각 파일을 저장하게 됩니다.

     

    절차지향 프로그래밍에서 객체지향 프로그래밍으로 넘어 오면서 수 많은 객체들을 효율적으로 관리하기 위해 만들어진 개념입니다. 개발을 하다보면 Java와 C#에서 기본 제공하고 있는 클래스와 같은 이름으로 사용자 클래스를 만들일이 종종 생기는데요. 이 때 자신만의 패키지나 네임스페이스를 설정해서 잘 구분해 놓는게 좋겠죠^^

     

    Java

    package javax.sql.database.master; 
    // 다른 패키지 안에 있는 클래스를 가져올 때
    import javax.sql.database.ng.Connector;
    // 다른 패키지 안에 있는 모든 클래스를 가져올 때
    import javax.sql.database.ng.*;

     

    C#

    namespace System.Sql.Database.Master 
    {
        ...
    }
    // 또는 아래와 같이 블록으로 설정해도 됩니다.
    namespace System 
    {  
        namespace Sql   
        {
            namespace Database
            {
                namespace Master
                {
                    ...      
                }
            } 
        }
    }
    // 다른 라이브러리 안에 있는 클래스를 가져오고 별칭을 지정할 때
    using NGConnector = System.Sql.Database.NG.Connector;
    // 다른 라이브러리 안에 네임 스페이스에 속한 모든 클래스를 가져올 때
    using System.Sql.Database.NG;

     

    Java는 소스 코드의 첫 줄에 package를 선언하고, C#은 namespace를 사용하여 블록으로 감싸야 합니다. 이전에 C#에서는 하나의 파일에 여러개의 클래스를 정의할 수 있다고 했었죠? 네임 스페이스도 여러개를 정의할 수 있습니다. 또한, namespace 밖에 using을 사용할수도 있고 안에 사용할 수도 있습니다.

     

    다음 시간에...

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.