[10줄 서평] 이재환의 자바 프로그래밍 입문

입력 2021.08.06 06:00

프로그래머를 꿈꾸는 취준생이 준비해야 할 프로그래밍 언어가 꼭 ‘자바’ 여야 할까?

저자는 웹과 모바일 개발을 할 생각이라면 자바라는 결론에 도달할 것이라고 답했다. 우리나라 공공기관, 금융, 통신, 유통 등의 영역에서 자바로 시스템을 구축한다는 것이 그 이유다. 자연스레 자바 개발자를 구하는 수요가 다른 언어에 비해 많다는 것이다.

자바로 개발할 수 있는 것이 웹사이트뿐이 아니다. 기업에서 사용하는 ERP, 웹 앱 등이 자바를 베이스로 하는 프레임워크를 이용해 만들어진다. 안드로이드 앱도 자바를 기반으로 하고, 빅데이터 플랫폼인 하둡 자체도 자바로 개발됐다. 이처럼 자바는 특정 분야에 국한된 것이 아니라 아주 다양한 분야에서 널리 사용되고 있는 프로그래밍 언어임을 강조했다.

출판사 골든래빗에서 ‘내 것으로 만드는 시간을 드리는’ 기획 도서 ‘머스트 해브(must have)’시리즈로 출간된 이 책은 초보자를 위한 책이지만 어려운 개념을 생략하지 않았다. 모호한 용어를 무작정 외우라고 강요하지도 않는다.

이 책의 구성 전반부는 자바의 개념을 잘 이해할 수 있도록 그림과 예제를 사용해 최대한 쉽게 설명하고, 후반부는 이를 응용해 프로그래밍할 수 있도록 돕는다. 프로그래밍에 입문해 프로그래머로 취업하고 싶은 취준생들에게 큰 힘이 되길 기대해본다.

이재환의 자바 프로그래밍 입문
이재환 지음 | 골든래빗 | 630쪽 | 2만5000원

#10줄서평 #3단계 자바 클래스 응용 프로그래밍

1. 제네릭을 적용하기 이전의 코드는 객체를 돌려받을 때 형변환을 잊지 말고 해야 한다는 불편함이 있고, 코드 진행상 프로그래머가 실수를 해도 그 실수가 드러나지 않을 수도 있다는 잠재적 위험이 존재한다.

2. 제네릭은 클래스, 메서드에서 사용할 자료형을 나중에 확정하는 기법이다. 클래서나 메서드를 선언할 때가 아닌 사용할 때, 즉 객체를 생성할 때나 메서드를 호출할 때 정한다는 의미다.

3. 클래스 전부가 아닌 메서드 하나에 대해서도 제네릭으로 정의할 수 있다. 머릿속으로 생각하지 말고 다이아몬드 연산자에 주어진 자료형으로 바꿔 써서 보면 그냥 일반 메서드다.

4. 자바에서는 앞에서 살펴본 자료구조를 개발자가 편리하게 사용할 수 있도록 컬렉션 프레임워크를 제공한다. 컬렉션 프레임워크에서 제공하는 인터페이스들은 상속 관계를 가지고 있다.

5. 어레이리스트(ArrayList)는 배열은 아니지만 배열 기반이라 데이터의 추가, 삭제보다는 참조가 링크드리스트(LinkedList)보다 빠르다는 장점이 있다. 반면 링크드리스트는 리스트 기반이라 데이터 참조 속도보다는 데이터의 추가, 삭제가 어레이리스트보다 쉽다는 장점이 있다. 그래서 만드는 시점에 추가될 데이터 성격을 생각해서 어레이리스트나 링크드리스트를 선택해서 만들고 사용할 때는 그냥 리스트로 사용하면 된다.

6. 컬렉션 프레임워크는 제네릭을 사용해 자료형을 제한한다. 이때 제네릭 부분에 클래스 타입을 지정해야 한다. 기본 자료형을 직접 적어줄 수는 없다. 하지만 앞서 배웠던 래퍼 클래스들은 오토 박싱과 오토 언박싱이 되기 때문에 자료형만 래퍼 클래스로 적어줄 뿐 기본 자료형을 사용하는 데 제약사항은 없다.

7. 다른 클래스와는 연관되어 사용되지 않고 해당 클래스에만 특정 클래스를 사용할 때 하나의 소스 파일로 묶어 관리를 편하게 할 수 있다. 외부 클래스는 내부 클래스를 멤버 변수처럼 사용할 수 있고, 내부 클래스는 외부 클래스의 자원을 직접 사용할 수 있는 장점이 있다.

8. 자바는 객체를 기반으로 프로그램을 구현한다. 만약 어떤 기능이 필요한데 간단한 기능이기 때문에 함수만 하나 만들어서 사용하고 싶어도 자바는 클래스 기반의 객체지향 언어이기 때문에 간단한 클래스를 만들어줘야 한다. 클래스를 먼저 만들고, 클래스 안에 기능을 구현한 메서드를 만든 후 객체를 통해 그 메서드를 호출해야 한다. 자바는 클래스가 없으면 메서드를 사용할 수 없다. 이런 불편함을 덜기 위해서 자바 8부터는 함수형 프로그래밍 기법인 람다식을 지원한다. 자바는 익명 내부 클래스를 람다식으로 표현해 함수형 프로그래밍을 지원한다.

9. 데이터의 흐름을 가리켜 스트림이라 한다. 데이터가 여러 개가 있어야 흐름을 만들 수 있기 때문에 스트림 데이터 소스로는 컬렉션, 배열 등이 주로 사용된다. 스트림 데이터는 이렇게 데이터 소스에서 추출한 연속적인 데이터다. 그리고 스트림은 이런 연속적인 데이터 흐름을 반복적으로 처리하는 기능이다.

10. 스레드는 하나의 실행 흐름으로 프로세스 내부에 존재한다. 그리고 프로세스는 하나 이상의 실행 흐름을 포함하기 때문에 프로세스는 적어도 하나의 스레드를 가진다.

하순명 기자 kidsfocal@chosunbiz.com


키워드

관련기사를 더 보시려면,

[10줄 서평] 피닉스 프로젝트 "위기에 빠진 IT 프로젝트를 구하라" 하순명 기자
[10줄 서평] 개발 함정을 탈출하라…"프로덕트 매니지먼트의 길" 하순명 기자
[10줄 서평] 임태규의 '텐서플로 라이트를 활용한 안드로이드 딥러닝' 하순명 기자
[10줄 서평] 홍성원의 '생각하는 기계 vs 생각하지 않는 인간' 하순명 기자
[10줄 서평] 냉장고를 여니 양자역학이 나왔다 하순명 기자
[10줄 서평] 실리콘밸리 리더십…마이클롭 애플 테크 리더가 꼽은 30가지 리더십 비법 하순명 기자
[10줄 서평] 메타물질로 해리포터의 투명망토를 만들 수 있다고? 서믿음 기자
[10줄 서평] 데이터 분석가의 숫자유감…"만화로 배우는 업무 데이터 분석 상식" 하순명 기자
[10줄 서평] 37년 주식투자 전문가가 전하는 합리적 투자의 조건 서믿음 기자
[10줄 서평] 자본 생존 전략은 임팩트 투자와 ESG 서믿음 기자
[10줄 서평] 메타버스 새로운 기회 하순명 기자
[10줄 서평] 임창환의 브레인 3.0 "인류의 미래는 AI와 뇌공학이 바꾼다" 하순명 기자
[10줄 서평] “김 팀장, 예측이 아니라 추론을 해야죠!" 서믿음 기자
[10줄 서평] MBA 마케팅 필독서 45 하순명 기자
[10줄 서평] 김재필의 'ESG 혁명이 온다' 우병현 기자
[10줄 서평] "AI는 어떻게 기업을 살리는가"…김경준·손진호의 AI 피보팅 이윤정 기자
[10줄 서평] 조원경의 '넥스트 그린 레볼루션' 우병현 기자
[10줄 서평] 윤영호의 '그러니까, 영국' 우병현 기자
[10줄 서평] 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 하순명 기자
[10줄 서평] 데브옵스 도입 전략 하순명 기자
[10줄 서평] 네이버 스마트스토어 마케팅 시작하기 하순명 기자
[10줄 서평] 개발자에서 아키텍트로…"38가지 실전 훈련법" 하순명 기자
[10줄 서평] 산제이 굽타의 '킵 샤프 늙지 않는 뇌' 우병현 기자
[10줄 서평] 메타버스가 만드는 가상경제 시대가 온다 이윤정 기자
[10줄 서평] 데이터 스토리…"데이터를 설득력 있는 이야기로 바꾸는 방법" 하순명 기자
[10줄 서평] 알고리즘 윤리 최용석 기자
[10줄 서평] 프라이버시 중심 디자인은 어떻게 하는가 하순명 기자
[10줄 서평] 김호섭 등 6인의 '일본, 한국을 상상하다' 우병현 기자
[10줄 서평] 시오노 나나미의 '황제 프리드리히 2세의 생애' 우병현 기자
[10줄 서평] 지금 모빌리티에 투자하라 하순명 기자
[10줄 서평] 린 AI…"비즈니스를 성장시키는 실용적 방법" 하순명 기자
[10줄 서평] AI하라…누구나 AI가 필요한 시대 이윤정 기자
[10줄 서평] 비전공자를 위한 첫코딩 챌린지 이윤정 기자
[10줄 서평] 윤석남·김이경의 '싸우는 여자들, 역사가 되다' 서유경 역사책방 서평단
[10줄 서평] 최종, 최최종…엑셀 탈출 '구글 스프레드시트 제대로 파헤치기' 이윤정 기자
[10줄 서평] Tucker의 Go 언어 프로그래밍 이윤정 기자
[10줄 서평] 김규봉·박광혁의 '뜻밖의 화가들이 주는 위안' 차주경 기자
[10줄 서평] 이다혜의 '내일을 위한 내 일' 이은주 기자
[10줄 서평] 존 리의 '부자되기 습관' 이은주 기자
[10줄 서평] 맥 쓰는 사람들을 위한 mac OS 완전정복 차주경 기자
[10줄 서평] 수포자를 위한 '친절한 딥러닝 수학' 이윤정 기자
[10줄 서평] 이명호의 디지털 쇼크, 한국의 미래 차주경 기자
[10줄 서평] 김난도의 '마켓컬리 인사이트' 이은주 기자
[10줄 서평] 리처드 윌린의 '하이데거, 제자들 그리고 나치' 이은주 기자
[10줄 서평] 유현준의 '어디서 살 것인가' 이은주 기자
[10줄 서평] 비트코인 창시자, 사토시의 서 이윤정 기자
[10줄 서평] 야마구치 슈의 '철학은 어떻게 삶의 무기가 되는가' 김예은 기자
[10줄 서평] 사피 바칼의 '룬 샷' 김예은 기자
[10줄 서평] 자외선이 당신을 늙게 한다 차주경 기자
[10줄 서평] 정여울의 '1일1페이지, 세상에서 가장 짧은 심리수업 365' 이은주 기자
[10줄 서평] 김시덕의 '동아시아, 해양과 대륙이 맞서다' 이은주 기자
[10줄 서평] 곽재식의 '괴물, 조선의 또 다른 풍경' 김예은 기자
[10줄 서평] 유닉스의 탄생 이윤정 기자
[10줄 서평] 데이터 쓰기의 기술 차주경 기자
[10줄 서평] 메리 앤 섀퍼, 애니 배로스의 '건지 감자 껍질파이 북클럽' 이은주 기자
[10줄 서평] 홍춘욱의 '50대 사건으로 보는 돈의 역사' 이은주 기자
[10줄 서평]이철승의 '쌀 재난 국가' 우병현 기자
[10줄 서평] 김용섭의 프로페셔널 스튜던트 이윤정 기자
[10줄 서평] 이동륜의 인간교 차주경 기자
[10줄 서평] 임홍택의 '관종의 조건' 이은주 기자
[10줄 서평] 홍일립의 국가의 딜레마 이은주 기자
[10줄 서평] 임동근, 김종배의 '메트로폴리스 서울의 탄생' 이은주 기자
[10줄 서평] 미국 외교의 거대한 환상 우병현 IT조선 대표
[10줄 서평] 이형재의 '직장인 공부법' 이은주 기자
[10줄 서평] 빌게이츠의 '빌게이츠, 기후재앙을 피하는 법' 이은주 기자
[10줄 서평] 김강원의 '카카오와 네이버는 어떻게 은행이 되었나' 이은주 기자
[10줄 서평] 정세랑의 '시선으로부터,' 이은주 기자
[10줄 서평] 알터 에고 이펙트 "부캐 열풍, 내 안의 영웅을 끌어낸다" 이윤정 기자
[10줄 서평] 니와 우이치로의 죽을 때까지 책읽기 차주경 기자
[10줄 서평] 최은수의 더 위험한 미국이 온다 이은주 기자
[10줄 서평] 미치오 카쿠의 초공간 이은주 기자
[10줄 서평] 윌리엄 퀸·존 터너의 버블:부의 대전환 이은주 기자
[10줄서평] 정연태의 ‘식민지 민족차별의 일상사’ 우병현 IT조선 대표
[10줄 서평] 조산구의 공유경제2.0 이은주 기자
[10줄 서평] 최원석의 ‘테슬라 쇼크’ 이민우 기자
[10줄서평] 달러구트 꿈 백화점 이은주 기자
[10줄 서평]오노레 드 발자크의 '공무원 생리학' 우병현 대표
[10줄 서평] 니시노 세이지의 ‘스탠퍼드식 최고의 수면법’ 이은주 기자
[10줄 서평] 린더 카니의 팀 쿡(Tim Cook) 이은주 인턴기자
[10줄 서평]라나 포루하의 '돈비이블(Don’t be evil)' 우병현 대표
[10줄 서평]백재현의 '1일 1페이지 그날 세계사 365' 차주경 기자
[10줄 서평] 레베카 패닌의 중국이 세계를 지배하는 날 우병현 IT조선 대표