c언어 독학 혼자서 가능할까?? 어떻게 공부해야 할까(공부법)

 

지금까지 C언어의 기초인 C언어의 문법과 제어문 그리고 배열에 대해서 공부했었습니다. 아직 C언어의 기초인 포인터와 구조체 그외 문자열이라던가 문자열의 배열도 아직 이야기 하지 않았습니다. 뭐 학교마다 또 선생님마다 수업의 진도는 다르지만 수업을 받는다면 아마 이쯤이면 대부분 기말고사가 슬슬 다가올때고 포인터를 배우거나 진도가 조금 빠르다면 구조체까지도 수업을 받을 수 있을 거라고 생각됩니다.

 

C언어 글의 처음이 아닌 중간에 이 글을 작성하는 이유?

C언어 기초에 대해서 아직 남아있는데 이렇게 어정쩡한 구간에서 "C언어 독학이 가능한가?"라는 글을 쓰는지 이해가 안될 수 있습니다. 보통은 초반에 넣어서 C언어에 관심이 갈 수 있도록 호기심을 끄는게 대부분인데 왜? 중간에 넣었나.. 가장 큰 이유는 입/출력, 조건문, 반복문, 함수의 사용, 배열 까지만 배우더라도 어느정도 만들어 볼 수 있는 프로그램의 예제가 다양하기 때문에 예제에 대해서 이야기 하기 위한 내용도 넣을 겸 중간에 넣게 되었습니다. 그 다음으로는 블로그가 원고료나 수업료를 받고 수업하는 방식이 아닌 개인적인 공간의 블로그이기 때문에 평소 하고있는 업무가 많아 바쁘거나 몸이 힘들면 블로그 관리를 못하게 될 수 있기 때문에 그렇기도 합니다. 그 외에도 여러가지 이유가 있지만 여기까지 하겠습니다. 

 

C언어 독학 가능할까?

결론부터 이야기 하면 C언어 독학은 가능합니다! 하지만 누구나 다 독학이 가능한 것은 아닙니다! 수학을 공부한다고 할때 독학으로 수학공부가 가능한 사람이 있지만 누군가 알려주는 학원이 아니라면 시작부터 하지 못하는 사람들도 있습니다.  C언어도 똑같이 혼자서 독학이 가능한사람과 그렇지 않은 사람이 있습니다. 따라서 누구나 독학이 가능하다라고는 이야기 할 수 없을 것 같습니다. 

 

C언어 독학은 인터넷강의나 C언어 기초 책을 구매해서 독학을 할 수 있고 이해하기 쉽게 c언어의 기초를 소개해주는 블로그도 많아 쉽게 찾아볼 수 있습니다. 책이나 블로그 또는 인강을 통해서 몇번 해봤다면 본인 스스로 독학이 가능하겠다 가능하지 않겠다 라는 느낌을 받을 수 있기때문에 책보다는 먼저 C언어 기초 블로그를 따라서 몇번 씩 만들어보는 걸로 독학을 시작해보면 알 수 있습니다. 

 

C언어 공부방법

제 블로그에서도 C언어에 대해서 문법과 함수에 대해서 기본적인 이론과 사용 규칙에 대해서 설명하고 있습니다. 언어를 배울때 기본적인 이론도 중요하지만 이론보다는 경험을 하는 것이 훨씬 더 큰 도움이 됩니다.! 이론은 읽어보는 정도로만 넘어가고 사용법만 익혀 이것저것 만들어 보는 것이 좋습니다. 만약 제 블로그에서 다차원 배열까지 같이 공부하셨다면 지금까지 배웠던 것들을 가지고 조합해 계산기, 성적입출력 프로그램, 야구게임, 바둑, 오목 등을 만들 수 있습니다. 

 

만약 "내가 벌써 만들어도 될까?","나는 아직 더 공부가 필요해" 등등의 프로그램을 아직 만들면 안되는 이유를 생각하고 있다면 "지금 만들어 볼 때 입니다"라고 이야기 해드리고 싶습니다. 

 

c언어를 공부하면서 프로그램을 만들어보면서 공부해야 하는 이유는 간단합니다. c언어로 프로그래밍해서 만들다가 중간에 내가 사용법에 맞지않는 형태로 사용을 하게되면 오류 메시지를 보여주고 어디가 틀렸고 어떻게 틀렸다~! 라고 친절하게 알려줍니다.

밑에 오류코드를 보면서 원인을 찾아보는게 무작정 처음부터 공부해서 이론을 다 외우는 것 보다 효율적으로 공부할 수 있습니다. 오류코드를 다시 검색해보면 오류코드가 발생한이유( 사용규칙과 다름)를 찾을 수 있고 다시 규칙에 맞게 사용을 하면서 다음에는 이러한 오류에 대해서 조금 더 빠르게 대처할 수 있는 능력이 생기게 됩니다.

 

제 블로그에서도 기본적인 사용법을 다루고 예제를 다루지만 항상 응용해서 다른 것들을 만들어 보는 것을 추천드립니다 라고 이야기 합니다. 배운걸 그대로 사용하게 될 일은 없습니다. 사용하는 이름도 다를꺼고 여러가지 구조도 다르게 될겁니다.  대학교 컴퓨터과를 나와서 회사에 들어간다고 했을 때 회사에 들어온 신입은 어차피 회사에서 적용할 수 있도록 다시 배웁니다. 회사에 맞춰 기초부터 하는 곳이 있고 아니면 회사의 시스템을 이해하면서 사용할 것들을 배울 수 도 있습니다. 다만 회사에서 요구하는 기초는 학교에서 배우는 기초책의 내용은 아닙니다. 그렇기 때문에 최대한 많이 응용해 보고 많이 만들어보고 많은 오류를 만나서 해결해보는 경험이 오히려 더 많은 이론을 알게 될 수 있습니다.  

 

많이 만들어 보면 좋은 점

서울에서 부산을 가는 프로그램을 만든다고 생각해봅시다. 처음에는 투박한 땅을 가지고 어렵게 어렵게 부산으로 가는 프로그램을 만들었습니다. 하지만 처음 프로그램을 만들게 된다면 국도만 만들게 될 것입니다. 단순히 서울에서 부산을 가는 길인데 꼬불꼬불 길도 많고 신호등이 많아서 부산까지 가는데 시간이 오래걸립니다.(코드가 길고 복잡해 프로그램이 느려짐) 프로그램을 다양하게 만들어 보면서 도로까는게 익숙해 지면 서울에서 부산까지 갈 수 있는 새로운 길을 발견하게 됩니다. 국도를 만들때는 각각 동네를 다 거쳐서 부산에 도착했지만 이제는 서울에서 부산으로 일자로 갈 수 있는 고속도로를 만들었습니다. 일자로 만들어 길이 단순하고 신호등이 없어 차가 중간에 멈출일도 없습니다.(코드가 간결해지고 프로그램이 빨라짐

 

이렇게 결과물을 만드는 프로그램을 만들 수 있지만 얼마나 많이 만들고 활용해봤냐에 따라서 프로그램 코드가 간결해지고 가벼워지는지 알 수있습니다. 많이 만들어보고 만들어본 소스들은 잘 보관하고 정리해서 나중에 필요할때 언제든 제사용이 가능하도록 준비해두는 것도 큰 도움이 됩니다. 

 

오늘 만든 프로그램을 한달, 두달, 1년 뒤에 보게되면 내가 왜 이렇게 만들었지 라는 생각이 듭니다. 더 간단하고 더쉽게 만들 수 있던걸 왜?? 이렇게 만들었나.. 내가 이렇게 쉬운걸 몰라서 그때는 만들다 포기했지.. 라는 생각도 합니다. 그만큼 경험이 중요하다고 강조하고싶네요. 

 

C언어 공부를 시작하시는 분들에게 조금이나마 도움이 됬으면 좋겠습니다~ 모두 공부 화이팅하세요! 

댓글

Designed by JB FACTORY