CLASS 9

[삽잡이::java]시스템 환경 정보들을 알려준다! System.getProperty( )

Property라는 의미 자체는 부동산, 재산, 소유등을 의미합니다. 프로그래밍 세계에서도 시스템 환경에 대한 재산, 소유와 같은 정보들을 알려달라고 요청할 수 있습니다. java 언어에는 System이라는 클래스가 있는데요,해당 클래스 안에는 getProperty( )라는 메서드가 존재합니다.해당 메서드를 통해서 정보를 알아낼 수 있다 이겁니다. (출처_ Java Document) 조금 더 자세하게 말씀드리자면,System 개체가 현재 작업 환경에 구성들을 설명할 수 있는 속성들을 가지고 있다는 것으로 이해하시면...더 이해하기... 쉬우실 수도.... 하하하.... 아무튼...getPropery() 메서드의 괄호 안에 값을 넣게 되면그에 맞는 값을 string형으로 반환해줍니다. 그렇다면~괄호 안에 ..

#047_닷넷(.NET)_.Net Framework 기본 - 구조체와 클래스에서 복사 (Shallow ,Deep Copy)

안녕하세요 삽잡이입니다. 이번 시간에는 struct, class의 경우를 비교해보며각 참조를 가졌을 때, 값을 가졌을 때 어떻게 복사가 되어가는지 알아보겠습니다.하... 힘든 시간이 될 수 있지만 힘차게 달려가봅시다! 필자는 Point와 Rect라는 형식을 가지고 비교를 진행해보도록 하겠습니다. 시작 전에 복사의 진리(?)를 다시 한번 곱씹어보고 가시겠습니다...값 형식과 참조 형식이 뭡니까?값 형식은 왜 값 형식이라고 부를까요?변수 자체가 값이고 모든 복사가 값으로 되기 때문입니다.참조형식은 그렇다면?객체 자체가 참조입니다. 객체는 따로 있고 참조자를 통해 가리킬 뿐이지요.참조형식일 경우 복사할 때 참조가 복사되니 참조 복사라고 부를 수 있습니다. 본격적으로 시작해볼까요? Case 1. Class 안에..

#037_닷넷(.NET)_.Net Framework 기본 -Object 메서드 (static)

안녕하세요 삽잡이입니다. 이번시간은 지난 시간에 이어 object class 내에 있는 메서드들에 대해 알아보려고합니다. 다음은 object 클래스에서 제공해주는 정적(static) 메서드들입니다. object 클래스에서 제공해주는 정적메서드에는 Equals() 메서드와 ReferenceEquals() 메서드가 있습니다.저~번 시간에 가상 메서드로 Equals() 메서드에 대해 알아본 기억이 있지요? static 메서드는 객체의 것이 아닌 'object class'의 것입니다. 아무튼.... 결론은 가져와서 '비교'해주는 메서드들입니다.그리고 이 메서드들은 모두 인자를 두 개씩 받도록 구현되있군요...사실 당연한 말입니다... static 메서드는 내 것도, 너 것도 아닌 class의 것이니깐요.... ..

#036_닷넷(.NET)_.Net Framework 기본 -Object 메서드 (instance)

안녕하세요 삽잡이입니다. 이번시간은 지난 시간에 이어 object class 내에 있는 메서드들에 대해 알아보려고합니다. 다음은 object 클래스에서 제공해주는 멤버(Instance) 메서드들입니다. Object 클래스에서 제공해주는 인스턴스 멤버에는 GetType()메서드와 MemberwiseClone() 메서드가 있습니다. 우선, GetType() 메서드는 자기 객체의 타입을 정말 잘 알고 있는 '타입 객체'를 반환합니다. MemberwiseClone() 메서드는 '복사' 동작을 할 때에 중요해집니다. 참조를 복사하는 경우를 봅시다. 객체가 아닌 참조가 복사되는 경우입니다.만약, 복사된 객체를 가리키고 싶다면 어떻게 해야할까요?이 때에는 MemberwiseClone() 메서드를 사용하면 됩니다.단,..

#035_닷넷(.NET)_.Net Framework 기본 -Object 메서드 (virtual)

안녕하세요 삽잡이입니다. 모든 타입의 부모는 Object Class이지요...그런데 이 Object에는 메서드들을 제공해줍니다. 다음은 object 클래스에서 제공해주는 메서드들입니다. 이와 같은 메서드들은 크게 '가상 멤버 메서드', '인스턴스 멤버 메서드', '정적 멤버 메서드'로이루어져 있습니다. '가상 메서드' 및 '인스턴스 메서드'로 이루어진 것들은 추후 자식 클래스에서 재정의 할 수 있게 되고,'정적 메서드'로 이루어진 것들은 클래스 수준에서 호출할 수 있게 됩니다. 하나하나 살펴보도록 하겠습니다.object 클래스에서 'Equals', 'GetHashCode' 메서드들은 항상 같이 묶여 다닙니다.즉, 오버라이드가 되어야 한다면 둘 다, 둘 중 하나 할 것이면 둘 다 하지 않는게 바람직합니다...

#029_닷넷(.NET)_.Net Framework 기본 - class & struct 응용

안녕하세요 삽잡이입니다. 이번 시간에는 Class와 Struct를 응용해서 더욱 깊이(?) 알아보려합니다. List는 그저 클래스 형식입니다.t는 타입 이름을 말하는 것이구요...t[]와 다를 바가 없습니다. 아무튼... 예를 들어 이와 같은 코드라면 int형 n에 들어있는 '100'이라는 값을 100번 저장하는 꼴입니다. 그런데, 만약 값, 참조를 List에 저장하게 되면 어떨까요??Point형식의 x, y 필드를 담는 구조체, 변수에 대해서 생각해보겠습니다. 구조체라면, 값을 저장하게됩니다.따라서 pt 값을 100번 저장하게 된다면, 이처럼 stack 영역에 100개의 객체가 생성되게 됩니다... 하지만, 클래스는 참조 값을 통해 객체를 가리키게 됩니다.따라서 100개의 pt 요소들이 new Poin..

#028_닷넷(.NET)_.Net Framework 기본 - 클래스와 구조체의 용도

안녕하세요 삽잡이입니다. 이번 시간에는 클래스와 구조체에 대해서 알아보겠습니다. 클래스는 자동 속성이 되지만 구조체는 자동 속성을 만들 수 없습니다... 뭐... 원래 이렇게 약속을 해뒀기 때문입니다... struct의 의미는 '값 형식'이라는 의미를 가지고 있습니다.class는 '참조 형식'이라는 의미를 가지고 있지요... 값 이라 하면 '어떤 데이터를 표현하기 위해 만들어 놓은 형식'을 말하는 것입니다.어떤 데이터를 표현하기 위해서... 즉, 값의 표현을 목적으로 하는 것이 구조체라는 것입니다.데이터 중심적이지요... 따라서 struct는 데이터 표현을 위해 사용합니다. 그런데 class는 참조 형식이지요.... 서비스 즉, 클라이언트가 서버에게 어떤 기능을 요청했을 때서비스를 수행, 제공하기 위한 ..

[삽잡이] 객체지향 프로그래밍에서 주의해야할 점

안녕하세요 삽잡이입니다. 이번 시간에는 객체지향 프로그래밍에 있어서 주의해야할 점에 대해서나눠보고자합니다. 캡슐화란, '관련성 있는 것끼리 하나의 묶음, 패킹, 틀로 만들어낸 것'을 의미합니다.즉, 경계를 만들어 내는 것입니다.이 캡슐화를 통해 데이터 보호와 데이터 은닉을 할 수 있습니다. 객체지향에서 기본은 클래스와 객체입니다.클래스는 객체들의 정의입니다.그리고 객체는 클래스의 인스턴스라고 부릅니다. 모든 객체는 '독립적'이어야합니다.예를 들어 '삽잡이'라는 클래스를 통해 만들어진 A객체와 B객체가 있다고 해봅시다.이때, A객체를 건드려도 B객체는 독립적으로 유지되어야한다 이겁니다.이를 '객체의 독립성'이라고 부릅니다.이 객체라는 것은 실제 세계에서도, 가상 세계에서도 독립성을 가집니다.독립성을 가지지..

#020_닷넷(.NET)_.Net Framework 기본 - 실제 참조 타입 과 값 타입

안녕하세요 삽잡이입니다. 이번 시간에는 실제로 값 타입과, 참조 타입이 뭔지 알아가도록 해보겠습니다...지난 시간에 복습하느라 못했습니다... 사실 실제 값 타입, 참조 타입은 'Class'와 'Struct' 이 두가지만 알면 됩니다...클래스와 구조체를 통해 값 타입과 참조 타입을 명확하게 구분할 수 있기 때문입니다.왜냐? 클래스는 참조의 대표, 구조체는 값의 대표이니깐 말입니다. 우선 둘의 특징에 대해서 알아보고 가도록 하겠습니다. 우선 Class는 부모가 Value 타입이 아닌 이상모든 부모로부터 모든 타입을 상속받을 수 있습니다.또한 파생시킬 수 있습니다. 즉, 자식 클래스를 만들 수 있다 이겁니다. 하지만, Struct는 상속이 자체가 불가능합니다.또한 상속을 받을 수도, 상속을 시켜줄 수도 없..