본문 바로가기

Class4

36.클래스(전역변수/지역변수), 실제사용법 클래스로 들어오면서 구역개념이 생긴다. 다음예제를 보자. public class testc { private int _num = 10; public int getnum() { return _num; } public void addnum(int num) { int n = _num; n += num; _num = n; } public void multyplenum(int num) { int n = _num; n *= num; _num = n; } } 참고로 일부러 쓸데없는 코드들이 추가 되있다. 위 클래스에서 addnum 메서드(=함수)를 보자. num 을 파라미터(=매개변수=인자) 로 받고 함수내부에 n 을 정의하고 더해줬다. 그리고 _num 인 필드에는 파라미터로 받은 num 을 더해줬다. 그리고 밑에 .. 2021. 10. 9.
35.클래스(생성자오버로딩) 생성자는 오버로딩도 가능하다. 글자만 보면 무슨말이지 할수도 있다. 둘다 앞에서 각각 배운개념이다. 다시 우리가 계속 사용하던 MessageBox 를 살펴보자. 그림1을 보면 이제 이해가 좀 될것이다. MessageBox 라는 클래스 였던것이다. 이클래스는 닷넷프레임워크 내에 미리 만들어져있다. 그리고 Show 함수는 앞에도 이야기 했지만 여러형태로 사용할 수 있게 오버로딩이 되어있다. MessageBox 에서 마우스 우클릭하면 위와 같이 나오는데 정의로 이동을 눌러보자. 모든클래스에서(내가 직접만든 클래스도) 우클릭으로 정의로 이동하여 찾아갈수 있다. 정의로 이동해서 옴겨가면 그림3과 같은 화면이 나온다. 왼쪽에 + 누르면 펼쳐지는데 한번씩 열어서 읽어보자. 제일위에 어셈블리는 실제 물리적인 파일을 의.. 2021. 10. 9.
34.클래스(생성자,소멸자) 앞에서 은근히 계속 이야기하던 클래스라는것에 대해서 배워보자. 클래스는 쉽게 말하면 함수들을 모아놓은것이다. 앞에 그림에서도 이야기했지만 네임스페이스 ᑐ 클래스 ᑐ 함수 로 생각하면 된다. 함수에 비해서 클래스는 범위도 넓고 더 많은 내용을 가질수 있다. 뿐만아니라 아예 파일을 분리하는것도 가능하다. 그리고 클래스는 앞에서 말하던 하나의 객체로 만들수 있다. 기본적인 클래스의 형태는 대체로 다음과 같다. 참고로 메서드 = 함수 이다. class 클래스명 { 필드 메서드() { } } 위에서 필드라고 했는데 필드 = 변수 라고 생각하면된다. 필드가 없을수도 있고 메서드가 없을수도 있다. 심지어 둘다 아무것도 없이 만들수도 있다.(당연히 아무의미 없겠지만) 클래스는 객체로 만들수 있는데 객체로 만들때는 ne.. 2021. 10. 9.
29.접근제한자, 네임스페이스 , 클래스 프로그램을 하면 혼자 다하는게 아니라 여러사람이 함께 하게 된다. 그런데 한명이 작업중에 다른사람이 같이 작업하는건 상당히 난감한일이 된다. 같은 부분을 어떤사람은 이렇게 만들고 다른사람은 다르게 만들수도있다. 그래서 함수만으로는 분업이 힘들거라 생각한 똑똑한 사람들이 그 윗단계로 나눌수 있는 덩어리들도 만들어뒀다. 그게 클래스이다. 자세한 내용은 나중에 다시 하고 함수처럼 특정행동을 할수 있는 더 큰 단위로 클래스가 있다 라고만 알고 넘어가자. 네임스페이스 역시 같은 의미이다. 네임스페이스는 자바에서는 패키지라고부르고 사용한다. 별로 어렵게 생각할거없이 그림1과 같은 구조이다. 주의 할점은 상위그룹내에 하위 그룹의 명칭은 유일해야한다는 것이다. aa 라는 클래스가 있다면 그내부에 bb() 라는 함수가 .. 2021. 10. 9.