none
UML Modeling에서 RRS feed

  • 질문

  • 첨부 그림과 같이 Attribute를 4개 만들어 Generate code 하였습니다.

    그런데 이상하게도 아래와 같은 코드가 만들어졌습니다.

    궁금한 것은 어떤 것은 virtual이 붙고 어떤 것은 붙지 않는데 일관성이 없다는 것입니다.

    예를 들어 sClass1의 경우만 virtual이 없고 나머지는 다 있습니다.

    이유를 아시는 분께서는 알려주시면 감사하겠습니다. 

    public class Class1
    {
    	public virtual int iClass1
    	{
    		get;
    		set;
    	}
    
    	private string sClass1
    	{
    		get;
    		set;
    	}
    
    	protected virtual object oClass1
    	{
    		get;
    		set;
    	}
    
    	public virtual string sTest
    	{
    		get;
    		set;
    	}
    
    }



    • 편집됨 Cruiser9 2015년 1월 26일 월요일 오후 1:58
    2015년 1월 26일 월요일 오후 1:57

답변

  • 해당 속성의 Visibility 값이 다르기 때문입니다.

    그림에서 보면, iClass1,sTest 속성의 경우 왼쪽에 "+" 표시가 있는데 이것은 Visibility가 public으로 설정되어 있는 경우에 나타납니다. 반면 sClass1의 경우 "-"로 되어 있는데 Visibility가 private으로, oClass1의 경우 "#"으로 되어 있는데 Visibility가 Protected로 되어 있는 것입니다.

    public으로 한 경우에는 자동으로 virtual을 생성하도록 되어 있습니다. 만약 public인데도 virtual을 원하지 않는다면 "Is Leaf" 속성을 True로 만들어주시면 됩니다.

    2015년 1월 26일 월요일 오후 10:31