인혁인혁
1k
2018-01-24 19:56:48 작성 2018-01-24 20:29:03 수정됨
15
3057

자바 공부를 하는데 api가 너무 많아서 진도가 안나가요 ㅜㅜ


(지금은)게임개발하는게 꿈인, 이제 대학생인 사람이에요



1월초부터 시작해서 3월초까지 안드로이드 앱을 만들어서 플레이스토어에 등록까지 해보자라는 목표를 가지고


이것저것 찾아보다 안드로이드스튜디오를 알게 되었어요..그걸 하려면 자바가 필요하대서


자바를 공부하다가.. 아 이거 대충하면 안되겠구나 싶더라구요


기초강의를 다 듣고..도서관에서 책도 몇개보고..

그 중에서도 역시 인터넷에 자바 잘하시는 분들이 운영하는 블로그들이 굉장히 도움이 되더라고요


그래도 자바로 뭐라도 만들고 다른공부를 시작하면 좋을거 같아서..'똥피하기' 같은거를 목표로 여러가지 api를 배우려고 하는데...너무 많더라구요


지금 읽는 책이 좀 별로라서 궁금한게 있으면 계속 구글에서 찾고 있는데..그거 해결하는데 상당한 시간이 소요되고 또 궁금한게 끊임없이 생기더라구요


기본개념을 끝내고나서 블로그에 있는 api사용법만 주구장창봐서


일주일이 조금 넘는 시간동안  메모장 하나를 api 몇개 외워서 만들 줄 알게 되었어요


그런데 블로그 깔짝대면서 api 몇개 보고 쓰고...그러는 이게 공부인가 싶네요

결국 제가 원하는 '똥피하기'같은 게임을 만들기에는 아직 반절도 못왔으니까요


똥떨어지는거..생성하고 움직이는거 ..시간다루는메소드도 배워야하고..

메뉴바구현할때 버튼으로 화면전환하는 api도 배워야하고

노래랑 이미지 가져오는 api배워야하고..또 애니메이션은 더블버퍼링이라는걸 해야하고..


솔직히 저거 다 배우는데 못해도 일주일 길면 2주까지 걸릴 수도 있을 거 같아서요..


이걸 계속 배우는데 힘을 써야할지..아니면 안드로이드스튜디오 책을 가져와서 앱을 만드는데 힘을 써야할지 싶네요


사실 뭐..이렇게 공부하는것이 굉장히 비효율적이라고 생각이 없지는 않아요 ㅜㅜㅜ


실제로 기초 개념익히고 메모장하나 만드는데에 3주가 넘는 시간이 걸렸는데

이러다가 언제 저 임시목표를 이룰까 싶어요.



유투브에 동빈나라는 분은 이클립스로 굉장히 많은 api를 능숙하게 잘 쓰시던데..굳이 자바가 아니더라도 다른분야에서도요

저보다 두살형이라는게 믿기지가 않을 정도로..부럽더라구요

이런속도면 현재 동빈나분과 비슷한 실력이 될쯤이면..30살이 넘어있지않을까 싶어요 ㅜㅜ 




자바든 다른 언어든 완성물을 하나 만들고 빨리 다른거 공부를 하고 싶은데

사실 이 목표도 제대로 된건지는 모르게써요.. ㅜㅜ




.. 제가 만들고 싶은 것에 api들이 많이 필요한건 알지만 굳이 api만 고집해서 계속 외워야하나 싶은 회의감이 있네요

 

자바 공부하시는 선배님들은 어떻게 공부를 하셨는지....궁금해서 올려봅니다


어떻게 갈피를 잡아야할지 모르겠어서 글 올려봅니당

0
0
  • 댓글 15

  • 협군
    5k
    2018-01-24 20:29:55 작성 2018-01-24 20:33:16 수정됨

    게임 개발하려면 유니티나 기타 게임 엔진을 배워야죠. 

    애초에 개발 사전 조사도 부족합니다. 안드로이드 자바로 게임 개발을 못하는 건 아니지만 그것조차 방향이 틀렸습니다. awt 나 스윙 같은 PC 응용 프로그램용 GUI를 사용하는게 아니라 opengl 을 씁니다. 하다못해 GUI를 이용한 게임이 전혀 없는 건 아닌데 안드로이드라면 안드로이드 SDK 를 사용해서 만듭니다. 

    그리고 타인과 비교하지 마세요. 8살이 게임 만들어서 플레이스토어에 올린 사람도 있습니다. 18살이 아닌 8살이요. 그리고 게임 개발 커뮤니티에서 찾아보면 10대에 출시한 사람들도 수두룩해요.

    현재 국내 게임 개발자들과 어울리거나 대화를 하려면 유니티는 필수입니다. 사용되는 언어도 자바가 아니라 C#이구요. 부가적으로 자바와 안드로이드SDK가 필요한 것 입니다.

    1
  • 아마데우스
    2k
    2018-01-24 20:43:23

    java 가 목표이신건가요?

    아님 그냥 게임개발이 목표 이신가요 ? 

    사실 그냥 게임개발자가 꿈이라면  unity 같은 엔진으로 하시는게 맞는듯 합니다.

    근데 똥피하기 게임같은건 ㅎㅎ

    순수 java 로직만으로도 구현 가능합니다.

    그러면서 쓰레딩이라던지 .. 기타 게임 충돌이론.. 게임 ai 까지 스스로 구현해보는것도 나쁘지 않죠 ㅎㅎ

    저도 안드로이드는 몇일전 반나절 정도 한정도라 크게 말씀은 못드리겟네요 ㅎㅎ

    근데 순수 java와 캔버스 정도만 가지고도 그런 게임 구현은 가능할겁니다 ㅋ

    1
  • 인혁인혁
    1k
    2018-01-24 20:47:41 작성 2018-01-24 20:49:34 수정됨

    ㄴ 협군님


    아..;; 답글 다는버튼이 안보여서 이렇게라도 답글 달게욤..

    네 일단 c#가 유니티쓰는데 필요한건 알지만 거기는 좀 나중의 목표에욤 아직 c도 제대로 하지 않았기 때문에 건들기가 좀 그렇더라구요..상관이 없을 수도 있지만 c랑 c++까지 해놓고 c#를 해야할 거 같아서요 ㅜㅜ

    대게 처음에 c아니면 자바로 시작을 한다길래 자바를 선택했어요 앱을 만들어보려구요

    자바를 공부하다가 '똥피하기'정도는 만들 줄 알면 좋을 거 같아서 열심히 api를 보고는 있는데 글 내용과 같이 너무 오래걸려서 고민이에욤...



    자바 api랑 안드로이드 api랑 거의 비슷한 줄 알았는데 아니었군요..역시 안드로이드 공부하는 것도 시간이 굉장히 걸릴 거 같네요..그런데 제 공부하는 제 방식이 비효율적인 거 같아서요

    이렇게 하나하나 찾아보고 그러는게..


    0
  • 인혁인혁
    1k
    2018-01-24 20:53:52

    ㄴ아마데우스님


    자바를 그래도 어디가서 '자바 조금 할 줄 알아요' 이 한마디 정도는 할 수 있을 정도로는 되고 싶어요

    그래서 세운 단기목표가 똥피하기고요..그런데 하다보니가 외울 api가 너무 많더라구요.. 주로 스윙인데..

    게임개발자라는 말을 괜히 썼네욤.. 지금은 언어 하나하나 배우기도 바쁠 수준인데

    0
  • 아마데우스
    2k
    2018-01-24 20:55:21

    음.. 

    제가 하는 공부법은..

    일단 큰 그림의 전체 윤곽은 대충 보고..

    그다음 구현에 필요한 부분이 생기면 그부분의  api 를 책이 됬던 구글이 됬던 찾아서 익히는 방식입니다.

    님은 전체  api 를 모두 훑터 보시려는건 아니시죠 ? ^^

    일단.. api 를 찾는것도 중요하지만..

    먼저 내가 구현할 프로그램의 필요한 요소가 뭔지를 파악하는게 중요할듯 합니다.

    말하자면.. 대략적인 설계를 먼저 그린후 ..

    그에 필요한 부품들을 찾는거죠 ^^

    모든걸 api 로 대채할필욘 없습니다. 자기가 구현할 수 있는건 한후 필요한 부분을 api 를 사용하는거죠

    똥 피하기 같은 경우는..

    님이 어떤 로직을 구상하실지는 잘 모르지만..

    일단 똥이 있고.. 그게 이미지던, 아니면 벡터 이미지던..

    그것이 존재하고 위에서 아래로 떨어질때 .. 그건 2차원 화면의 x,y 좌표겠죠

    그다음 이미지 갱신은 while 문으로 loop를 돌것이며 슬립도 줘야 이미지가 frame을 가지면서 돌아가겟죠

    그것이 랜덤으로 떨어지던... 어떻든 직선운동 알고리즘을 구현하셔야 하구요

    그리고 사용자는 떨어지는 똥과 상관없이 자신의 방향을 조절 할수 있어야 겠죠..

    이것도 쓰레드로 구현하셔도 되고..

    키 이벤트나 버튼 이벤트가 필요하겠죠..

    그런다음 그 이미지와 사용자와의 충돌(사각형이 되었던. 그 점이 일치하는 순간체크)로직을 체크하고

    그 상황이 되었을때의 이미지.. 등등

    안드로이드지만.. 자바 기반이니..

    자바의 클래스라던지 그런 기본적인거는 지원되지 않을까요? ㅎㅎ

    저도 반나절이라.. 아닐수도 있어성 ^_^ 지금은 텐서쪽 하고 있어서.. 나중에 다시 안드 할 생각입니다 ㅎㅎ

    0
  • 인혁인혁
    1k
    2018-01-24 21:06:47 작성 2018-01-24 21:07:00 수정됨

    ㄴ아마데우스님


    음..그러면 그렇게 api를 하나하나씩 배워서 각 프로그래밍언어로 무언가 완성품을 만든다면 충분한가요

    이제 시작이라서 군대가기전까지 이것저것 찔러볼 예정인데


    나중에 그 언어로 다른 완성품을 만들고 그걸 자주하다보면 그 언어를 잘하는 사람이 되는걸까요


    사실 만드는 재미도 있긴 하지만.. 다른사람눈에 보이는 기준도 충족시킬 수 있으면 좋을 거 같아서요


    예를들면 자기소개서에..뭔가를 쓰려면 어디에 입상했다는 전적을 좀 보여주면 좋을 거 같은데


    입상할 정도의 수준으로 가기 위해서 지금 이 수준에서


    여러가지 찔러보면서 완성품 만드는걸 목표로 해도 되는가 싶어요

    0
  • 협군
    5k
    2018-01-24 21:07:36

    오해가 있는것 같아 첨언 합니다.

    C 와 C#은 전혀 관계 없습니다. 오히려 다르긴 하지만 자바와 비슷한 부분이 많겠죠. 

    게다가 게임 구현을 위해 사용되는 것은 일부입니다.

    0
  • 아마데우스
    2k
    2018-01-24 21:11:56

    음.. 게임을 만든다는건..

    어쩜 그 언어에 정통할수 있는 최상의 지름길 같은겁니다.

    게임은 종합 예술이거든요.. 알고리즘, 그래픽스, 사운드, 네트워킹..

    언어에 정통하기 가장 좋은 방법은 게임 구현입니다.

    일단 기본기가 중요하지 않을까요? ㅎㅎ

    그리고 툴이 중요하죠...

    무조건 따라하는 앵무새가 먼저 되시기 보단..

    기본기가 탄탄하고 현재의 기술 트랜드 또한  팔러업 할수 있다면..

    최고의 개발자가 아닐까 합니다 ^_^

    또한 c와 c# 은 완전 다르며.. 오히려 java 문법과 더 똑같습니다 ㅎㅎ 

    하지만 c#이 좋은건.. c와의 호환성이.. 어마어마 하게 좋습니다.

    ms가 미는 c#이니.. 왠만한 c로 구현할수 있는건 c#도 그 모듈 땡겨다가 거의 다 구현가능합니다.

    가비지 컬렉터가 있다는것만 빼곤.. c#이  c가 할수 있는건 다 합니다 ㅎㅎ

    0
  • 앙앙이
    3k
    2018-01-24 21:14:28

      게임 같은 경우 하드웨어 성능을 최대한 끌어 올려야 하는 분야중 하나로 알고있기에

    왠 쌩뚱 맞은 자바요?


    아래 벤치마크에 자바가 없지만 주관적인 생각에 속도면에서 c# 이랑 비슷하다 생각해서 올려봅니다.


    "C++, C# protobuf, JSON 직렬화 성능 얼마나 차이날까?" 참고 주소 : www.cgcii.co.kr/index.php?document_srl=2017&mid=board_eLHH13

    0
  • 인혁인혁
    1k
    2018-01-24 21:15:14

    ㄴ협군님

    그러면 학기중에 c배우면서 잠깐 짬내서 c#배우고 유니티엔진 배워도 괜찮겠네요

    사실 1학년은 교양만 좀 있지 전공수업은 널널한 편인거 같더라구요

    ..휴 ㅜㅜ 여튼 감사합니다 근데 타인이랑 비교하게 되는것은..제가 어느정도 수준에는 올라가고 싶기 때문에..어쩔 수 없는 것 같아요

    좋아하기도 하지만..그래도 이게 제 밥벌이노릇을 제대로 했으면 좋겠어요

    0
  • 협군
    5k
    2018-01-24 21:31:00

    1학년이신 모양이군요. 전공 수업에 c 가 있는 모양이군요. 그럼 저녁이나 주말에 시간이 남을 때 해보시면 되겠네요.

    타인과 비교하지 말라는 건 기본기가 다를 수 있기 때문입니다. 수학과 논리에 강하고 어릴때부터 수업에 집중하는 법을 알고 학습능력이 강한 사람이라거나 아예 언어 공부 시작을 어린 시절부터 한 사람들이 있습니다.

    저 만해도 언어 공부는 10살에 시작했고 c, 어셈블리를 16살에 배웠어요. 비교대상은 타인에게 찾지 마세요. 30세가 넘어서 시작하는 사람도 많습니다.

    1
  • mirheeoj
    8k
    2018-01-25 07:11:14

    정석대로 언어를 차근차근 배우든지 

    아니면 유니티부터 바로 시작하든지..

    지금 접근법은 이도 저도 아닌 것 같은 느낌 

    0
  • ktsedd
    6k
    2018-01-25 10:13:37

    api를 통째로 외울 필요가 있나요

    내가 어떤기능을 만들겠다에 필요한 api만 그때그때 사용법 검색해서 가져다 쓰는게

    통째로 외우는거보다는 더 기억에 오래남을듯

    0
  • Dive_Drink_Develope
    3k
    2018-01-25 10:45:17

    API를 배운다고 생각하시는게 문제...라면 문제인듯.

    여러번 코딩하면서 익숙해지면

    내가 원하는 기능들의 단어를 조합해서 API를 *가져다* 쓸 수 있게 됩니다.

    API는 그냥 입력에 대해 출력이 있는 블랙박스라고 보시면 되요.

    내가 입력할 데이터가 뭐뭐가 있을때 어떤 출력을 내주는 블랙박스가 필요한지만 고민하고 

    재빠르게 검색해서 가져다 쓰면됩니다.


    0
  • 톰소여
    1k
    2018-01-25 13:19:38

    api는 기본적인 것만 알면 되고 전체를 알 필요가 없습니다.

    그냥 package 하고 거기에 포함된 클래스 그리고 대략 그게 어떤 기능들을 하는지만 개념만 알면 됩니다.

    api는 찾아서 쓰면 됩니다.

    api를 모두 외운다고 해도 사용하는 목적에 따라 방식, 코딩이 모두 달라집니다.


    자바를 하게 되면 c#은 쉽습니다. c#을 먼저해도 동일하고요.

    문법정도 깨우치면 api 패키지는 윤곽만 잡은 후에 하고자 하는 것을 하세요.



    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.