아하 로고
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
집요한쿠스쿠스213
집요한쿠스쿠스21320.10.22

자바와 c언어의 차이를 알고싶습니다.

프로그래밍을 시작하려 하는게 어떤게 좋을까여

c언어와 자바의 차이를 알고 싶습니다

두언어중에 어떤것을 많이쓰고 있는지 궁금합니다

그리고 앞으로 어떤 언어가 인기있는지도 알려주시면 감사합니당,,

55글자 더 채워주세요.
답변의 개수6개의 답변이 있어요!
  • 일반적으로 많이 쓰는 언어가 C, 자바, 파이썬이 있습니다. 차이점은 C는 절차지향적언어이고 파이썬, 자바는 객체지향적언어입니다. 절차지향적이라는 것은 코딩한 순서대로 실행이 된다고 보시면 되고, 객체지향적이라는 것은 객체(하나의모듈)라는 것을 만들어서 재사용함으로써 여러 곳에서 호출해서 쓸수 있다고 보시면 됩니다. 그래서 C 같은 경우에 속도는 빠르지만 유지보수는 좀 불편한 점이 있고 반대로 파이썬이나 자바는 속도는 좀 느리지만 유지보수에 편한 장점이 있습니다. C는 기초 다지기에는 좋은 반면 좀 어렵고 파이썬은 초보가 하기에도 쉬운 장점이 있습니다. 자바는 실활용도 면에서는 제일 많이 쓰이지 않나 싶습니다. 정부에서 쓰는 전자정부프레임워크에서도 자바가 쓰이죠.


  • c언어는 절차지향적 언어이고 자바는 객체지향적 언어라는 것이 가장 큰 차이라고 할 수 있습니다. 객체지향은 객체라는 개념을 사용해서 개발자들이 프로그램 설계를 더 쉽게 할 수 있도록 하는 방법이고 절차지향은 객체라는 개념 없이 단순하게 처음부터 끝까지 명령어의 순서대로 차례대로 실행하는 방법입니다.

    현재 국내에서 가장 많이 사용되고 있는 언어는 자바입니다. 앞으로도 국내에서 자바는 많이 사용될 것이고 빅데이터와 인공지능 분야가 발전하면서 파이썬도 많이 사용될 추세입니다.


  • c가 먼저 만들어진 후 1995년 썬마이크로시스템스(지금은 오라클에 합병됨) 가 c 기반으로 자바를 만들었습니다.

    c에는 포인터 라는 개념이 있는데, 컴퓨터의 메모리에 올라가는 데이터는 데이터와 주소값으로 구성되어 있고 이 주소값을 가리켜서 참조하는 것을 포인터라고 합니다. 즉 메모리 내 데이터를 자유자재로 포인터를 활용하여 값을 참조할 수 있는 것이 c의 특징이죠

    그런데 포인터는 되게 어렵기 때문에 자바를 개발할 때 포인터 기능을 자체에 내장하게끔 만들어서 포인터를 개발자가 사용하지 않아도 충분히 프로그래밍이 가능하게끔 만든 것이 자바입니다.

    예를 들어 스타크래프트의 마린을 배럭에서 생산할 수 있는데 마린 1명을 생산할 때 이를 마린이란 객체를 생성한다 라고 표현합니다.

    그러면 마린 객체는 마린 클래스를 참조하게끔 할 수 있는데 이 때 포인터를 내부적으로 사용합니다.

    그리고 또 다른 차이점은 c언어는 절차지향프로그래밍 언어이고, 자바는 객체지향프로그래밍 언어라는 점입니다.

    최초에 절차지향프로그래밍 언어가 나왔으며 절차대로 기능을 구현하는 방식으로 사용했는데,

    스타크래프트처럼 마린은 총을 쏘고, 배틀크루져는 레이저를 쏘고, 시즈탱크는 시즈모드를 하고 등등 각 유닛 객체마다 서로의 기능이 구현된대로 행동하게끔 하는 객체지향프로그래밍이 이후에 나오게 되었고 자바에서 이를 채택하게 되었습니다.

    그리고 앞으로 c보다 자바가 훨씬 많이 사용될 것으로 예상됩니다.

    자바로 안드로이드 앱 프로그래밍이 가능하므로 안드로이드 앱 개발을 필요로 하는 업체에서 외주 의뢰를 담당할 수 있습니다.

    그리고 안드로이드 앱 내에서 회원가입, 로그인, 게시물 작성, 게시물 목록 보기 등의 기능을 구현하려면 어떤 서버 컴퓨터와 전기적으로 통신을 해서 데이터를 가지고 와야 합니다.

    서버 쪽 기술분야를 서버 사이드 프로그래밍이라고 부르는데 대표적으로 jsp and servlet, 스프링 프레임워크, 스프링 부트 라는 기술을 사용합니다.

    그리고 이 3가지 기술은 자바 프로그래밍 언어 기반입니다.

    그래서 안드로이드 앱 개발, 서버 구축 2가지를 할 때 자바 프로그래밍 언어를 알고 있다면 심화 공부를 더 해서 원하는 결과물을 만들 수 있습니다.


  • 스크래치에서 문제를 못풀고 헤메신다면? 실전 프로그램에선 더 헤멜수 있습니다

    그러니 스크래치를 통해 본인의 적성을 꼭 확인해보시기 바랍니다

    --------------------------

    우선 코딩과 알고리즘의 맛을 아래 링크에서 접해보시기 바랍니다!

    https://scratch.mit.edu/ 여기를 추천드리구요

    https://scratch.mit.edu/explore/projects/all <== 여기는 다른사람들이 스크래치로 만든 게임등을

    플레이할 수 있는곳이데요

    나름 재미있을거라 생각합니다 ( 본인이 직접 만들수도 있음 )

    경우에 따라 이 사이트가 너무 시시해 보일수도 있습니다

    근데 여기서 얻은 알고리즘은 타언어 배울때도 당연히 적용이 됩니다

    열심히 해보세요

    그리고 열심히 하다가 스크래치에서의 코딩이 자신의 적성과 잘 맞다고 생각되면

    그때 프로그램 개발을 어떤 목적으로 할것이냐에

    따라서 배워야 할 언어가 틀려지기때문에,

    스크래치에서 경험을 쌓은후 다시 재 질문해주시기 바랍니다!


  • 가장 큰 차이는 C언어는 절차지향 언어이고, 자바는 객체지향 언어입니다.

    그리고 메모리 할당이나 해제를 C언어는 직접적으로 관리를 해줘야합니다. 그러나 자바는 가비지 콜렉터가 있어서 메모리 할당이나 해제를 개발자가 신경쓸 필요가 없습니다. 가비지 콜렉터가 편하게 메모리를 관리해 주기 때문에 잘못된 메모리 접근이라던가 개발자가 문제가 생길수 있는 여지들을 주지 않지만, 속도 측면에서는 C언어가 훨씬 빠르게 동작합니다.


  • 프로그래밍을 처음 배운다면 자바를 추천 합니다.

    C언어가 처음 배우기에는 어려운 프로그래밍 언어입니다.

    그렇다고 자바 또한 배우기가 쉬운 것은 아닙니다.

    자바는 C언어보다 쉬운 점도 있지만 객체지향 언어이기 때문에 객체지향을 이해하지 못하면 다른 사람이 만든 코드를 이해하기 어려울 수도 있습니다.

    두 언어다 좋은 언어 입니다.

    각각 사용하는 분야가 다르다보니 인기를 비교하는 것은 무리가 있지 않나 싶습니다.