자바를 사용하면 robust해서 컴파일타임에 코드문제가 발생할일도 거의없기 때문에
처음 프로그래밍을 시작하는 초급자입장에선 접근하기 쉬운반면
어찌되었건 C와 자바가 추구하는점이 다르기때문에
(자바는 포인터를 이용한 연산이 애시당초 필요가 없으니)
그관점에서는 포인터주소연산을 통한 접근이 필요없으니 상관없는게 맞긴한데
보통 PL을 공부하지 않은 비전공자들 중
자바로 시작한분들은 대부분 heap영역에 대한 이해력이 떨어지져..
자바의 new가 왜 new인지 이해를 못하는 경우가 대부분
(또 변수타입의 클래스가 왜 그 클래스명인지 조차 이해못하는 경우도, 바인딩에 대한 개념이 없으니..)
반면 C부터 시작한분은 힙영역에 대한 이해도가 다소 부족하더라도
왜 malloc을 해야하는가 생각해보면(동적할당을 이용하는 목적을 생각해보면)
힙영역. 즉 OOP를 사용할때 객체에 대한 개념이 조금 더 확고해짐.
그래서 c를 배운 이후에 자바를 배우고 OOP설계 대한 개념만 조금더 확실히 하면 뛰어난 개발자가 될수있는반면
비전공자이면서 PL공부를 미처 못했으며, 객체에 대한 이해력마저 없으면
흔히 말하는 어중이 떠중이가 되기마련이더라구여
이런분들이 IT평균 깍아먹는경우 몇번봤어여(안타깝지만 사실)
그래서 IT는 진입장벽이 낮고 쉽다는 소리가 나오죠(실상은 쉬운게 아닌데)
뭐 그렇다고 C로 프로그래밍을 시작해야된다는건 또 절대로 아니에여
C를 입문언어라고 하는분들 많은데
H/W도 알아야하고 OS도 알아야하고
문법도 개발자 편한대로 사용가능하게 되있어서 오히려 초보자가 사용하기엔 더 안좋음..
(타입이나 포매터가 너무 자유로워서 작성자도 코드가 어디 잘못된지 찾기어려움)
그냥.. 비오니까 심심했나봐여
왜 이런글 적고 있나모르겠네...
전체적인 요지는 이해하겠는데 OOP랑 힙,스택이랑 무슨 상관임??
c로 배운사람들은 malloc을 수시로 사용하기에 free를 염두에 두고 이에따라 힙영역에 대한 관리를 항상 염두에 두고 있는 반면에 OOP로 시작하면 이 타입이 힙에 올라가는지 스택에 올라가는지 모른다는 말이에여. 사실 모른다기보다 신경을 안쓴다고 해야하려나요. 아님 힙영역에 대한 이해가 없다고 해야하나. 저도 뭐라 말하려고 써적었는지 원..
oop에서 객체를 제대로 사용하려면 힙영역에 대한 이해가 높아야 하는데 자바로 시작하면 이해도가 떨어지는 경우가 많다는 아이러니한 상황? 이런거같네여
대충 결과 찍어보고 돌아가면 땡쳐버리는 놈들이 많음. 그런놈들임
이건 아니징..
c - c++ - linux - java 난 요거