명령어나 타입이 아닌 공간으로 이해하면 된다.
데이터를 저장하는 공간적 의미로 생각하면 이해하기 쉽다.
공간의 크기에 따라 작은 공간에서 큰 공간으로 변수 -> 배열 -> 구조체 -> 객체로 확대해서 이해하면 된다.
가령 데이터를 과일로 표현하면?
1. 상자에 사과 하나만 달랑 있으면 변수
2. 상자에 사과가 둘 이상이면 배열
3. 상자에 사과 뿐만 아니라 배, 복숭아, 멜론도 같이 있으면 구조체
4. 이 과일들을 담은 상자에 어디어디 납품용, 선물용, 증정용, 반품용, 견본용 등의 용도를 써 붙이면 객체
(참고로 자바 같은 경우는 여기서 종이를 붙인 상자를 클래스, 종이에 적힌 용도를 메서드라 부른다.)
즉 이런거다.
1. 변수 : 하나의 데이터를 저장하는 공간
2. 배열 : 같은 종류의 데이터를 두 개 이상 저장하는 공간
3. 구조체 : 같은 목적을 가진 서로 다른 종류의 데이터들을 여러 개 저장
4. 객체 : 구조체 + 함수(한 가지 목적이 아닌 여러 목적에에 쓸 수 있음)
이렇게 설명하니 참 쉽죠?
참고로 C언어를 배운 적이 없는 초보자는 구조체가 뭔지 모를텐데 그럴 때는 객체 = 두 종류 이상의 서로 다른 배열들 해쳐모여!!! 이렇게 이해하면 됨.
데이터를 저장하는 공간적 의미로 생각하면 이해하기 쉽다.
공간의 크기에 따라 작은 공간에서 큰 공간으로 변수 -> 배열 -> 구조체 -> 객체로 확대해서 이해하면 된다.
가령 데이터를 과일로 표현하면?
1. 상자에 사과 하나만 달랑 있으면 변수
2. 상자에 사과가 둘 이상이면 배열
3. 상자에 사과 뿐만 아니라 배, 복숭아, 멜론도 같이 있으면 구조체
4. 이 과일들을 담은 상자에 어디어디 납품용, 선물용, 증정용, 반품용, 견본용 등의 용도를 써 붙이면 객체
(참고로 자바 같은 경우는 여기서 종이를 붙인 상자를 클래스, 종이에 적힌 용도를 메서드라 부른다.)
즉 이런거다.
1. 변수 : 하나의 데이터를 저장하는 공간
2. 배열 : 같은 종류의 데이터를 두 개 이상 저장하는 공간
3. 구조체 : 같은 목적을 가진 서로 다른 종류의 데이터들을 여러 개 저장
4. 객체 : 구조체 + 함수(한 가지 목적이 아닌 여러 목적에에 쓸 수 있음)
이렇게 설명하니 참 쉽죠?
참고로 C언어를 배운 적이 없는 초보자는 구조체가 뭔지 모를텐데 그럴 때는 객체 = 두 종류 이상의 서로 다른 배열들 해쳐모여!!! 이렇게 이해하면 됨.
난 C를 대충하고 자바테크 탔더니 구조체가 더 헷갈리던데 처음엔 존나 이해가 안됬음
ㅁㅁ// C의 구조체는 자바의 메서드와 같은 개념이라고 생각하면 이해하기 쉽다. 사실 자바와 C++의 클래스가 바로 이 C의 구조체 개념을 확장한 거라 할 수 있다.
구조체가 메서드라니 이게 웬 궤변이란 말입니까! 두정갑님!
같은 개념이 아니라 비슷한 개념이라는 거임. 정확히 말하자면 C의 함수와 같은 개념, 아니 더 정확히 말하자면 함수와 구조체의 중간에 해당되는 개념이라고 하면 됨. 그래도 이해 못하면 그냥 그냥 함수랑 같다고 생각하도록........
두정갑님은 범접할 수 없는 존재군요. 무서울 정도입니다. 덜덜덜
뭐야 내 자아가 분열해 두정갑이라는 인물이 탄생한 것인가! 아... 아이피가!
자바, C++의 메서드 = C의 함수...... 엄밀히 말하면 정확한 표현은 아니지만 이해하기 힘든 초보자들은 그냥 이렇게 생각하고 못박아버리면 됨. 물론 뒷감당은 책임 못 짐.
그나저자// 맞아, 내가 바로 그 두정갑이야! 직업은 따로 있고, 심심풀이 땅콩으로 오픈소스 만지작거리는 그 두정갑이 나 말고 또 있나?
글을 쓸 때마다 어록이 탄생하시는군요.
맞아, 내 글을 보면 알겠지만 나는 메모장을 찬양하고, 오픈소스와 무료를 찬양하고, 단순한 손코딩을 찬양하며, 거지같고 복잡한 통합개발환경, 정신 사납게 하는 각종 프레임워크를 증오하고 개발자를 착취하는 대한민국 산업구조를 증오하는 바로 그 두정갑이 나임.
어그로냐? 답도없다 ㅇㅇ 티버애니급
좋은 가르침을 얻었습니다. 기억나는 어록 좀 정리하고 자도록 하겠습니다.
씨언어는 기계어와 1대 1 대응된다. 자바의 메소드는 씨의 구조체이다. 두정갑님의 가르침에 감사드립니다.
언젠가 내 어록 정리하면 올려줘!!!
댓ㄱ·ㄹㅋㅋ
설정이냐 진짜냐.. 진짜면 개또라이같음.
진화 계통수
이분은 뭐 글하나 썼다하면 센세이션이네 --;
C언어에서 헤더와 소스 차이점은 알고 객체지향 논하는 겅미?
객체가 (구조체 + 함수)라니...; 클래스, 객체, 구조체에 대한 개념이 잡히질 않았구먼.