nested class 혹은 inner class.
클래스의 중첩을 의미.
클래스 안에 클래스를 의미하며 간단한 예를 들면
class A{
public :
class B{
public :
int a;
B{ a=0; }
};
};
A의 외부에서 B를 사용하고자 할 때는
A::B a;
대략 이런식으로 A::으로 A 클래스 안에 있는 이란 의미.
클래스 안에 클래스-라는 개념은 사실 배운 적이 없었고 뭐 가능하겠지, 라고는 생각해왔었지만 저놈의 코드가(링크드 리스트 ADT)노드 구조체 따로 포지션 클래스 따로 노드리스트 클래스 따로 설명되있길래 당연히 따로따로 해놓고 작성했다가 오류가 이~~~~~~~빠이. 뭐지 하고 보니 확실히 문제가 있어보여서 이걸 어떻게 다 수정해야 하나 막막해하고 있었는데 혹시나 싶어서 해보니 전부 노드리스트 클래스 안에 존재해야 오류없이 실행된다... 아오.
그런데 자바에서 interface라는 것에 대해 배우는데 한 친구가 저것과 똑같은 설명을 c++배울 때 'virtual'할 때 들었다면서 virtual과 interface를 동급으로 놓고 얘기하던데 뭔가 아리송한게 가령 c++에서는 함수가 virtual이라고 클래스가 virtual일 필요도 없고, virtual은 보통 오버라이딩시 포인터로 접근할 때 super클래스의 함수가 호출되는걸 막기위한거 아니었나? virtual에 대해서는 간략하게만 배워서 잘 모르겠는데, virtual클래스의 경우는 다중상속도 되는건가...싶지만 된다쳐도 interface와 똑같다는건 나로선 잘 모르겠는 부분이다. 이 부분은 좀 더 알아볼 필요가 있을 듯.
그리고, 쓰면쓸수록 느끼는데 이전에는 비쥬얼 C++이 우수하다고 느끼질 못하고 썼고 에디트플러스나 기타 프로그램을 써보면서 아 비쥬얼 C진짜 캐잘만들었구나 -_-;;; 했는데 이클립스를 쓰면서 또 생각이 바뀐다. 이클립스는 정말... 설치도 필요없고 그 어마어마한 무게만 줄여서 속도증가만 이룬다면 최강의 프로그램이 될 듯 ㅜ_ㅜ 사용자 편의가 정말 우수한 프로그램이다. C관련 컴파일러만 추가해주면 이클립스로도 C프로그래밍이 가능하다곤 하는데 전에 이클립스 돌리다 느려졋던 경우를 생각하면 노트북에서는 왠만하면 돌리고 싶지가 않아서...(그런데 지금 생각해보면 느려진건 프로그램 무게 탓보다 운영체제가 맞지 않아서가 아닐까 싶기도 하다. 어찌저찌 돌아가고는 있다지만 윈도우7에 64비트에는 호환이 잘 안되는걸지도...)
클래스의 중첩을 의미.
클래스 안에 클래스를 의미하며 간단한 예를 들면
class A{
public :
class B{
public :
int a;
B{ a=0; }
};
};
A의 외부에서 B를 사용하고자 할 때는
A::B a;
대략 이런식으로 A::으로 A 클래스 안에 있는 이란 의미.
클래스 안에 클래스-라는 개념은 사실 배운 적이 없었고 뭐 가능하겠지, 라고는 생각해왔었지만 저놈의 코드가(링크드 리스트 ADT)노드 구조체 따로 포지션 클래스 따로 노드리스트 클래스 따로 설명되있길래 당연히 따로따로 해놓고 작성했다가 오류가 이~~~~~~~빠이. 뭐지 하고 보니 확실히 문제가 있어보여서 이걸 어떻게 다 수정해야 하나 막막해하고 있었는데 혹시나 싶어서 해보니 전부 노드리스트 클래스 안에 존재해야 오류없이 실행된다... 아오.
그런데 자바에서 interface라는 것에 대해 배우는데 한 친구가 저것과 똑같은 설명을 c++배울 때 'virtual'할 때 들었다면서 virtual과 interface를 동급으로 놓고 얘기하던데 뭔가 아리송한게 가령 c++에서는 함수가 virtual이라고 클래스가 virtual일 필요도 없고, virtual은 보통 오버라이딩시 포인터로 접근할 때 super클래스의 함수가 호출되는걸 막기위한거 아니었나? virtual에 대해서는 간략하게만 배워서 잘 모르겠는데, virtual클래스의 경우는 다중상속도 되는건가...싶지만 된다쳐도 interface와 똑같다는건 나로선 잘 모르겠는 부분이다. 이 부분은 좀 더 알아볼 필요가 있을 듯.
그리고, 쓰면쓸수록 느끼는데 이전에는 비쥬얼 C++이 우수하다고 느끼질 못하고 썼고 에디트플러스나 기타 프로그램을 써보면서 아 비쥬얼 C진짜 캐잘만들었구나 -_-;;; 했는데 이클립스를 쓰면서 또 생각이 바뀐다. 이클립스는 정말... 설치도 필요없고 그 어마어마한 무게만 줄여서 속도증가만 이룬다면 최강의 프로그램이 될 듯 ㅜ_ㅜ 사용자 편의가 정말 우수한 프로그램이다. C관련 컴파일러만 추가해주면 이클립스로도 C프로그래밍이 가능하다곤 하는데 전에 이클립스 돌리다 느려졋던 경우를 생각하면 노트북에서는 왠만하면 돌리고 싶지가 않아서...(그런데 지금 생각해보면 느려진건 프로그램 무게 탓보다 운영체제가 맞지 않아서가 아닐까 싶기도 하다. 어찌저찌 돌아가고는 있다지만 윈도우7에 64비트에는 호환이 잘 안되는걸지도...)















덧글