Chapter 1 자바 프로그래밍 시작하기

Ruinak·2021년 5월 8일
0

Java

목록 보기
1/15
post-thumbnail

1. 프로그래밍과 자바

1-1 프로그래밍이란 무엇일까요?

  • 컴퓨터 프로그램 만드는 일을 프로그래밍(programming)이라 합니다.
  • 프로그램 만드는 사람을 프로그래머(programmer)라고 합니다.
  • 프로그래밍을 한다는 것은 컴퓨터가 일을 하도록 컴퓨터 언어로 명령을 만들고 컴퓨터로 하여금 그 명령을 실행하게 하는 것을 말합니다.
  • 프로그램이란 컴퓨터에게 일을 시키는 명령의 집합이라고 할 수 있습니다.
  • 컴파일(compile)이란 프로그램이 프로그래밍 언어 문법에 맞는지 확인하고, 컴퓨터가 이해할 수 있는 언어로 번역하는 것입니다.
  • 컴파일러(compiler)란 컴파일 작업을 하는 프로그램을 말합니다.
  • 결국 우리가 말하는 프로그램이란 프로그램에 들어 있는 명령(소스 코드)집합과 컴파일된 결과물까지 포함한다.

1-2 자바를 쓰면 왜 좋을까?

  • 자바는 1991년 제임스 고슬링을 비롯한 선 마이크로시스템스 연구원들이 처음 개발했습니다.
  • 그 당시 가장 많이 사용하던 프로그래밍 언어는 C와 C++이었는데, 가전제품이나 휴대용 장치 등에 사용하는 소프트웨어를 만들기 위해 독립적으로 작동하는 더 안정된 프로그래밍 언어가 필요했습니다.

플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있습니다.

  • 자바는 '한 번 작성하면, 어디서든 돌아간다(wirte once, run anywhere)'는 슬로건이 있습니다.
  • 플랫폼에 종속되지 않는 프로그램을 개발하여 여러 플랫폼에서 실행할 수 있습니다.
  • 바이트 코드는 운영체제 맞는 완벽한 기계어가 아닌 중간 기계어입니다.
  • class 파일을 만들어 두면 운영체제에 맞는 완벽한 실행 파일로 바꿔줍니다.

객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋습니다.

  • 자바는 객체 지향 언어입니다.
  • 객체 지향 프로그래밍이란 일의 순서대로 프로그래밍하는 것이 아닌 여러 객체의 협력을 통해 프로그램을 구현하는 것입니다.
  • 객체 지향 언어로 프로그래밍하면 공통으로 사용하는 부분을 수정하지 않고도 프로그램에 새 기능을 쉽게 추가할 수 있습니다.
  • 객체 지향 언어로 프로그램을 잘 설계하면 유지보수가 쉽고 확장성이 좋습니다.

프로그램이 안정적임

  • 자바는 기존 언어가 가지는 모호성과 불안정한 부분을 과감히 없애고 개선했습니다.
  • 자바는 C나 C++에서 제공하는 문법인 포인터를 사용하지 않아 메모리에 직접 제어할 수 없습니다.
  • 프로그램에서 메모리를 직접 제어하면 오류가 발생할 수 있는데, 이런 위험성이 없으므로 훨씬 안정적입니다.
  • 동적 메모리 수거를 프로그래머가 하지 않고 가비지 컬렉터(Garbage Collector)를 이용하므로 메모리를 효율적으로 관리할 수 있습니다.

풍부한 기능을 제공하는 오픈 소스임

  • 기본 기능을 제공하는 클래스뿐 아니라 자료 구조, 네트워크, 입출력, 예외 처리 등에 최적화된 알고리즘 라이브러리를 제공하는 자바 개발 키트(Java Development Kit : JDK)가 존재합니다.
  • 오픈 소스들을 연동하여 풍부한 기능을 빠르게 구현할 수 있습니다.

1-3 자바로 어떤 프로그램을 만들 수 있을까요?

웹서버

  • 웹 사이트를 운영하려면 반드시 서버(server)가 필요합니다.
  • 사용자가 웹 사이트에 접속해서 뉴스나 메일 서비스를 요청하면 서버에 그 요청이 전달되고 요청 결과를 응답으로 받습니다.
  • 사용자에게 요청을 받아 응답을 주는 프로그램이 서버입니다.

안드로이드 앱

  • 안드로이드폰에서 사용하는 앱을 만들 수 있는 언어 중 하나가 자바입니다.

게임

  • 게임을 만들 때는 C++와 C를 주로 사용하지만 게임을 구현하는데 종종 사용됩니다.
profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글