클래스, 객체, 인스턴스 영어권 단어라서 의미를 헷갈립니다. 객체는 개념적인 의미이고 클래스를 객체라고 하기도 하고 인스턴스를 객체라고 하기도 합니다. 클래스는 객체를 기술한 설계도 같은거고, 클래스가 틀이라고 하면 틀도 실체가 있는 객체가 되는 거니.. 더 이해하기 힘듭니다. 인스턴스는 메모리에 적재된 객체라고 봅니다. 인간은 항상 현실 세상의 사물과 현상에 대한 존재를 파악하려고 했고 그게 철학이나 물리학, 수학 등으로 나타나고 현실 세상의 사물을 컴퓨터세상에 표현하기 위해 코드로 나타내는 방법으로 객체지향이란 패러다임을 만든거임. 그러다보니 객체지향이 철학이나 수학, 물리학등과 비슷하다 볼 수 있죠..
저도 이렇게 생각하고 현업에 종사하고 있고 함수도 클래스도 변수도 모두 object(객체)라고 보고 있고 그래서 OOP란 표현이 널리 쓰이는데 객체를 마치 클래스가 선언한 변수라고 단정지어버리니 순간 당황했네요. 아마 초보자들을 상대로 뭔가 쉽게 와닿게하기 위해서 이렇게 설명한게 아닌가 싶긴한데 아리송하군요
면접에서 객체와 인스턴스의 차이점에 대해 묻는다면, 클래스화 객체는 참조형 변수로 스택영역에 할당된 공간을 갖고있고, 인스턴스는 힙영역에 실제값이 있으며 그 실제값의 주소값이 스택영역의 변수에 대입된 것으로 그 변수를 통해 실제 인스턴스에 접근할 수 있습니다. 라고 하면 될까요?
C 언어기준(구조체)으로 말하자면, 객체나 인스턴스(Assignment)나 둘다 스택영역에 있을 것 같은데요! 근데, 전 자바를 배우지 않아서, public이 무슨 뜻인지 모르는데... public이 다른언어에서 global를 뜻하는것이라면, 객체는 data영역에 있을 것 같고, 인스턴스된 변수는 스택영역에 있고요!
@@_Raphael_Developer 방금 자바의 public 뭔지 확인했네요! public 만 global 개념이고, 다른 것들(default, private, protected)은 패키지 기준이네요! 그럼, 제 말이 맞아요! public 객체는 데이타 영역에 있고, 인스턴스되었을때는 스택영역에 있습니다. 혹시나 해서, chatGPT로도 확인했어요! C 언어의 구조체 개념에서 자바나 파이썬의 클래스의 개념이 나왔어요! 개념이나 메모리 영역에서 어떤 부분에 할당되는지는 똑같다라고 보네요!
@@_Raphael_Developer 남들이 다 그렇게 얘기하는데요! 제가 생각하는 메모리영역과 데이타와의 관계에서는 꼭 그렇지않아요! C 구조체도 메인함수 위에서 선언을 하면, 해당 구조체가 당연히 global영역에 속해서 데이타영역으로 가죠! 그리고, 동적할당된 구조체는 malloc()함수를 써야되는데요! malloc()을 안 쓰면, 즉 사전에 해당 변수의 바이트수를 정해주지 않으면, 그건 동적할당 아니예요! 그냥 주소값만 쓰는 것이지! 포인터죠! 즉, 주소값을 쓴다라고 무조건 다 힙 영역에 들어가지 않아요! 이런 제 이해가 맞는지, 자바에도 똑같이 적용되는지 궁금해서, chatGPTA에 자바의 경우 어떻게 되냐라고 몇가지를 물어봤는데... 예를 들면, In Java, public variable is in data area or in stack area? 라고 물어보았는데, chatGPT가 데이타영역에 들어간다라고 답했는데요. 님도 한번 chatGPT에 물어보세요!
선생님 이런 영상이 필요 할 거 같아요
1.압도적인 실력자가 되어 대기업 취뽀 해버리는 방법 =>이미 만들어 주셨으니까 상관없으려나요
2.노력은 많이 했지만 이제 현실과 타협해서 적당히 좋은 기업 가서 이직을 잘 하는 방법
마침 딱 부트캠프에서 이부분 배우고있는데 좋은 내용감사합니다.
클래스, 객체, 인스턴스 영어권 단어라서 의미를 헷갈립니다.
객체는 개념적인 의미이고 클래스를 객체라고 하기도 하고 인스턴스를 객체라고 하기도 합니다.
클래스는 객체를 기술한 설계도 같은거고, 클래스가 틀이라고 하면 틀도 실체가 있는 객체가 되는 거니.. 더 이해하기 힘듭니다.
인스턴스는 메모리에 적재된 객체라고 봅니다.
인간은 항상 현실 세상의 사물과 현상에 대한 존재를 파악하려고 했고 그게 철학이나 물리학, 수학 등으로 나타나고
현실 세상의 사물을 컴퓨터세상에 표현하기 위해 코드로 나타내는 방법으로 객체지향이란 패러다임을 만든거임.
그러다보니 객체지향이 철학이나 수학, 물리학등과 비슷하다 볼 수 있죠..
저도 이렇게 생각하고 현업에 종사하고 있고 함수도 클래스도 변수도 모두 object(객체)라고 보고 있고 그래서 OOP란 표현이 널리 쓰이는데 객체를 마치 클래스가 선언한 변수라고 단정지어버리니 순간 당황했네요. 아마 초보자들을 상대로 뭔가 쉽게 와닿게하기 위해서 이렇게 설명한게 아닌가 싶긴한데 아리송하군요
와 비전문가가 듣기에도 어설프게 나마 개념이 잡히는 설명입니다. 최고네요!!! 종종찾아뵙겠습니다
안녕하시렵니까~!? 유익한 영상 감사합니다 큰돌햄!
와 진짜 쉽게 설명해주신다
개념의 구현이 클래스, 개념에 속하는 어떤 것이 인스턴스. 저는 이렇게 이해하고 있습니다.
면접에서 객체와 인스턴스의 차이점에 대해 묻는다면,
클래스화 객체는 참조형 변수로 스택영역에 할당된 공간을 갖고있고, 인스턴스는 힙영역에 실제값이 있으며 그 실제값의 주소값이 스택영역의 변수에 대입된 것으로 그 변수를 통해 실제 인스턴스에 접근할 수 있습니다.
라고 하면 될까요?
C 언어기준(구조체)으로 말하자면, 객체나 인스턴스(Assignment)나 둘다 스택영역에 있을 것 같은데요! 근데, 전 자바를 배우지 않아서, public이 무슨 뜻인지 모르는데... public이 다른언어에서 global를 뜻하는것이라면, 객체는 data영역에 있을 것 같고, 인스턴스된 변수는 스택영역에 있고요!
@@xxxyyyzzz612 오호.. 저는 자바만 봐서 C는 그런지 몰랐네요. 흥미롭네요
@@_Raphael_Developer 방금 자바의 public 뭔지 확인했네요! public 만 global 개념이고, 다른 것들(default, private, protected)은 패키지 기준이네요! 그럼, 제 말이 맞아요! public 객체는 데이타 영역에 있고, 인스턴스되었을때는 스택영역에 있습니다. 혹시나 해서, chatGPT로도 확인했어요! C 언어의 구조체 개념에서 자바나 파이썬의 클래스의 개념이 나왔어요! 개념이나 메모리 영역에서 어떤 부분에 할당되는지는 똑같다라고 보네요!
@@xxxyyyzzz612 C에서 일반적인 구조체는 스택이고, 동적으로 할당된 구조체 인스턴스는 힙 영역에 저장되는 걸로 알고 있어요. 이 개념을 따와서 자바에서는 참조변수의 인스턴스가 힙 영역에 저장되구요.
@@_Raphael_Developer 남들이 다 그렇게 얘기하는데요! 제가 생각하는 메모리영역과 데이타와의 관계에서는 꼭 그렇지않아요! C 구조체도 메인함수 위에서 선언을 하면, 해당 구조체가 당연히 global영역에 속해서 데이타영역으로 가죠! 그리고, 동적할당된 구조체는 malloc()함수를 써야되는데요! malloc()을 안 쓰면, 즉 사전에 해당 변수의 바이트수를 정해주지 않으면, 그건 동적할당 아니예요! 그냥 주소값만 쓰는 것이지! 포인터죠! 즉, 주소값을 쓴다라고 무조건 다 힙 영역에 들어가지 않아요! 이런 제 이해가 맞는지, 자바에도 똑같이 적용되는지 궁금해서, chatGPTA에 자바의 경우 어떻게 되냐라고 몇가지를 물어봤는데... 예를 들면, In Java, public variable is in data area or in stack area? 라고 물어보았는데, chatGPT가 데이타영역에 들어간다라고 답했는데요. 님도 한번 chatGPT에 물어보세요!
인프런강의 10주완성 수강하려고 하는데요.. 별도 질문하는 곳이 없어 여기 여쭤보네요 혹시 부스트 라이브러리 이용해서 강의하시나요? 부스트 라이브러리로 알고리듬 같이 공부해야해서 여쭤봅니다
부스트 라이브러리 사용하지 않습니다.
자바를 안 배워서... 자바에서 public은 global variable 이라는 것을 뜻하나요? 그런 것 같은 느낌인데...
방금 다른 동영상 보고 확인했네요! *^^ public 만 global 개념이고, 다른 것들(default, private, protected)은 패키지 기준이네요!
뭐지 왜이렇게 이해가 잘되지..?
5:31 public person() 이것도 메서드라 할 수 있나요?
아 오늘은 안넝하시렵니까 없네
태석님 감사합니다.
클래스=포켓몬
객체=피카츄
인스턴스=실제 게임에서 쓸 수 있는 피카츄
맞나요?
게임에서 동작되는 피카추 = 인스턴스용
포켓몬과 피카추는 상속에 조금 더 가깝지 않을까요?
@@kundol 그렇군요!
음 좀더 정확하게 한분께서 말씀해주셨는데 포켓몬 하위 클래스의 피카추 클래스가 있구요 그 클래스로 부터~~ 만들어지는 객체가 피카츄가 될 거 같아요