본문 바로가기

도움이 될 정보

[시스템 해킹 보안1] c언어 vs 자바







안녕하쎄요! 버건디33입니다.

오늘도 역시! 여러분들이 관심있으실만한!

정보를 가지고 왔습니다!



프로그래밍 언어중에서 '내가 기초다'라고 얘기하는

두 언어가 있는데요,

하나는 C언어, 그리고 또 다른 하나는 자바입니다.



이 둘에 대해서는 많이들 들어보셨을거예요!

그런데 [시스템 해킹 보안]이라는 걸 하기 위해

C랑 JAVA의 차이를 아셔두는 게 좋아요!!












자, 시작하도록 하겠습니다!

저번 포스팅에서 C와 자바에 대한

간략한 설명들은 해드렸어요!

이해가 되셨는지 모르겠어요^^

오늘은 그 둘 사이의 차이점을 알아보기 위해

조금 더 깊게 들어갈 예정이니 

잘 봐주시길 바랍니다!!










각각의 FRAME WORK를 아시나요?

프레임 워크는, 틀에 맞춰 사용하는 용어입니다.

좀 더 효율적으로 프로그래밍을 실행시키기 위해서

사용하는 것이죠!



C는 비쥬얼스튜디오라는 개발 프레임 워크를 사용하고,

자바는 이클립스라는 개발 프레임 워크를 사용합니다.




속도는 뭐가 더 빠를까요?

C가 조금 더 빠릅니다.











C는 저번에 말씀드렸듯이, 기계어에 가깝습니다.

컴퓨터 언어라 쓰고 C언어라고 읽는 경우가 많죠?

대학교 수업에서도 '컴퓨터 언어'과목은 거의 C언어를 배우는 수업인데요,

말 그대로 컴퓨터가 이해하기 쉽기에 코드를 입력했을때

더 빠르게 알아듣고 실행시키는 것이 C언어입니다.




반대로 자바는 C언어에 비해 상대적으로 느린 편이예요.

다른 언어들에 비해서는 빠를 수 있지만,

C언어보다는 사람이 이해하기 쉽게 만들어진 편이라

C언어와 비교했을 때에는 더 속도가 느립니다.









안정성, 확장성은 뭐가 더 좋을지 생각이 되시나요??

자바입니다!

이유를 알려드리겠습니다.


C는 CPU위에서 바로 돌아갑니다. 그렇기에 CPU의 상태나 운영체제의 종류에 따라

영향을 받기도 하지요. (MAC이나 윈도우 등..)


그러나 자바는 JVM이 있습니다. Java Virtual Machine이라고 하는데요,

CPU위에 JVM 을 돌리고 그 위에서 JAVA를 하게 됩니다.

그렇기 때문에 어느 운영체제나 CPU가 와도 JVM으로 돌리면 되기 때문에

안정성과 확정성이 어느정도 보장이 된 프로그래밍 언어입니다.








다음은 메모리입니다. 

메모리 부분에서는 C가 앞섰는데요, 

C의 장점중에 하나는 RAM 메모리를 직접 컨트롤할 수 있다는 겁니다.


흔히 예를 드는 부분이 있다면, 자동차 인데요

C는 스포츠카를 예로 듭니다.

자바는 반대로 세단을 예로 듭니다.

스포츠카는 스틱이고 세부조작을 할 수 있습니다.

귀찮기도 하고 어렵기도 하지만 익숙해지면 속도는 빠르지요.

반대로 세단은 자동(오토)고, 승차감이 좋지요. 그러나 속도가 스틱에 비해 느리다는 단점이 있습니다.



C는 메모리를 직접 조절할 수 있기에 메모리낭비가 없고,

최적화가 가능합니다.

그렇기 때문에 C는 게임 및 운영체제 기계나 전자기기에 들어가는 임베디드에

사용됩니다. 

특히 게임은 소프트웨어 중에 덩치가 제일 크다고 할 수 있지요.

CPU도 많이 먹고 하드웨어도 많이 먹고 다 크게 먹기 때문에

C만이 조절이 가능하다고 합니다.











그러나 그 외에 많은 부분들은 자바를 사용하고 있습니다. 

특히 웹을 만들기 위해 자바를 사용하는 이유는 JSP 때문입니다.

자바는 파생 프로그래밍 언어 및 시스템들이 좋기 때문에 그에 대해

이득을 보는 편이라고 생각하시면 이해가 쉬우실겁니다!




자바를 예로 들면, 우리가 하는 수강신청이나

맥 딜리버리를 예로 들 수 있는데요.

검색 기능 및 학년에 따라 다르게 접속하게 하고

날짜에 따라 다른 날에 접속하게 하는 것 역시 

자바로 할 수 있습니다. 



우리가 사용하는 인터넷 기반의 겉모습들은 프론트엔드라고 하지요

또한 자료는 데이터 베이스에서 꺼낼 수 있구요.

이러한 것들을 이어주고 실행가능하게 하는 것이 자바입니다.

우리가 자료를 요청하면 DB에서 찾아서 답을 주는 것!

자바로 가능합니다.





조금 이해가 되셨는지 모르겠습니다.

시스템 해킹 보안을 하기 위해 왜 이 차이를 알아야 하는지는

마지막에 알려드리도록 하겠습니다.



다음번에는 2탄, 리눅스와 윈도우의 차이를 알려드리도록 하겠습니다.