김갱환
맨땅에 코딩
김갱환
전체 방문자
오늘
어제
  • 분류 전체보기 (239)
    • ⁂ 맨땅에 코딩 (11)
      • : Story (3)
      • : MiniProject 'MyWeb' (1)
      • : Final Project (5)
      • : Josa-Moa 한국어 조사 처리 프로젝트 (1)
    • —————Frontend——————————————.. (0)
    • ⁂ HTML (10)
      • : 기본 익히기 (10)
    • ⁂ CSS (15)
      • : 기본 익히기 (15)
    • ⁂ Java Script (32)
      • : 기본 익히기 (28)
      • : 자바스크립트 라이브러리 (1)
      • : 연습 문제 (3)
    • ⁂ jQuery (11)
      • : 기본 익히기 (11)
    • ⁂ Bootstrap (3)
      • : 기본 익히기 (3)
    • ⁂ TailWind CSS (1)
    • ⁂ AJAX (5)
      • : 기본 익히기 (5)
    • ⁂ Vue.js (3)
      • : 기본 익히기 (3)
    • —————DB : Data Base————————.. (0)
    • ⁂ Oracle DB (27)
      • : 기본 익히기 (24)
      • : 연습 문제 (3)
    • ⁂ MyBatis Framework (15)
      • : 기본 익히기 (15)
    • —————Backend———————————————.. (0)
    • ⁂ Java (62)
      • : 기본 익히기 (42)
      • : JDBC - Java DataBase Conn.. (4)
      • : Crawling (2)
      • : 독학으로 공부하기(과거) (11)
      • : 연습문제 (3)
    • ——————Web————————————————— (0)
    • ⁂ JSP (28)
      • : 기본 익히기 (28)
    • ⁂ Spring FrameWork (15)
      • : Legacy Project (1)
      • : 기본 익히기(Boot 기반) (14)
    • ——————————————————————— (0)
    • ⁂ Error Note (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코딩 #코딩공부 #프론트앤드 #백앤드 #풀스택개발자
  • 자바
  • 코딩공부
  • 코딩
  • 연산자 #기본연산자 #코딩 #자바 #독학 #자바공부 #자바연산자
  • http에러메세지
  • 백앤드
  • 풀스택
  • 코딩공부 #코딩 #자바 #자바독학 #자바공부 #개발자 #프론트앤드 #백앤드 #풀스택
  • httperror
  • 자바공부
  • 코딩공부 #자바공부
  • HTML공부
  • 프론트앤드
  • web.xml수정
  • 객체지향프로그래밍
  • 코딩 #코딩공부 #상수 #리터럴 #형변환 #개발자 #자바 #자바공부 #자바독학
  • ErrorPage
  • 비트연산자 #코딩공부 #자바공부 #코딩 #자바 #프로그래밍 #개발자
  • 개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김갱환

맨땅에 코딩

⁂ Java/: 독학으로 공부하기(과거)

[java] #1-1 그래서 자바가 뭔데?

2022. 6. 29. 16:30

0. 공부를 시작하기 위해서 나에게 필요한 것, 부산스러움.

 

역시 공부는 맛있는 커피와 함께 해야 하는 법.

아침부터 화성시고용센터와 헬스장을 오간 뒤 약간 늦은 점심식사를 마치고 애정하는 카페에 왔다.

 

플랫화이트, 사랑함 ㅎ, 이따 아메리카노 또 시켜먹을 예정.

그리고 이제 본격적인 공부를 시작.

두근거리는 마음으로 책을 펼쳐보았다.

아, 책 이름은 [Do it! 자바프로그래밍 입문]이라는 책이다.

 

이 책 가장 앞에는 공부 계획을 세우도록 돕는 과정이 있는데.

나는 호기롭게 중급자 과정을 택했다(학원에 들어가기까지 남은 시간이 없어서 반강제인 것은 안비밀).

아무튼 이제 그 첫 걸음을 떼어보려한다.

 

 

총 15일의 과정으로 두꺼운 책 한 권을 마친다.

 

1. 그래서 자바가 뭔데?

 

언어란 위대하다.

각기 다른 문화권과 생활권을 반영하며 언어는 진화해왔다.

같은 언어더라도 누가 쓰느냐, 그리고 어떻게 말하냐에 따라 다르게 들리기도 한다.

 

프로그래밍이란 프로그램을 만드는 것이다.

더 쉽게 말하자면 컴퓨터라는 기계 내부에서 사용자가 원하는 결과를 도출시키기 위해 조작하는 모든 활동이다.

그리고 이 프로그램을 만들기 위해선 컴퓨터에게 명령을 내려야하는데, 이 때 필요한 것이 바로 컴퓨터가 알아들을 수 있는 '프로그래밍 언어'이다.

 

우리가 아무리 컴퓨터에게 "1부터 100까지 더해줘"라고 한국어로, 영어로, 일본어로, 중국어로 말해도 컴퓨터는 알아들을 수가 없다.

그렇기에 우리는 저 명령을 컴퓨터가 알아들을 수 있는 언어로 바꾸는 작업이 필요하다(Like 파파고).

이 작업을 컴파일(Compile; 엮다)이라고 부르고 이 작업을 도와주는 프로그램을 컴파일러(Compiler)라고 한다.

 

그리고 그렇게 듣기만 많이 들었던 바로 '자바(Java)'라는 것은 이 컴파일을 도와주는 프로그래밍 언어의 한 종류이다.

 

 

2. 자바, 그것이 알고 싶다

 

자바의 슬로건은 이 문장이다.

'한 번 작성하면, 어디서든 작동한다(write one, run anywhere)'.

 

이 문장이 어떤 뜻이냐하면 리눅스, 매킨토시, 윈도우와 같은 다양한 플랫폼에 개별적인 실행 파일을 따로따로 만들지 않아도 된다는 뜻이다.

원래는 각 플랫폼마다 실행될 수 있도록 플랫폼용 컴파일러를 따로 준비해야했었던 과거의 프로그램들과는 달리 자바는 자바 자체의 컴파일러를 통해 어떤 플랫폼에서도 프로그램이 실행될 수 있도록 도와주는 것이다.

이것을 가능하게 하는 것이 바로 바이트 코드(Example.class)인데, 바이트 코드는 완벽한 실행 파일이 아닌 중간 기계어이다.

 

"완벽하지 않으면 실행이 안되잖아요!!"

맞다. 이 바이트 코드는 한 가지 과정을 더 거쳐야 완벽한 실행 파일로 변환된다.

바로 각 운영 체제의 자바 가상 머신(Jave Virtual Machine ; JVM)을 거치는 것이다.

그러니까 이전에는 각 플랫폼마다의 실행 파일을 따로 만들어야했는데, 이제는 자바를 통해 .class파일을 만들기만 하면 각 운영 체제에 설치된 자바 가상 머신을 통해 프로그램 실행이 가능하게 해주는 것이다.

 

 

3. 자바의 특징!

 

1) 자바는 객체 지향 언어에요.

 - 객체 지향 언어란 순서대로 프로그래밍 되어서 프로그램이 돌아가게 하는 것이 아니라 각 파트마다의 프로그래밍을 통한 객체의 협력으로 프로그램이 구성되는 것을 뜻한다. 자바 이전의 대표적인 객체 지향 언어는 C++언어였다.

 - 자바가 객체 지향 언어이기 때문에 프로그램의 수정이 필요할 때 전체적으로 다 뜯어 고치는 것이 아니라 그 부분만의 수정이 가능하기도 하고, 새로운 기능을 추가하는 것도 보다 더 쉬워진다.

 

2) 안정적인 프로그램이에요.

 - 과거의 언어인 C+, C++언어는 컴퓨터의 메모리를 직접 제어하였기에 오류가 발생할 확률이 높았다. 하지만 자바는 메모리를 직접 제어하지 않아 오류가 발생할 위험을 낮췄다.

 - 또한 기존의 언어가 가지는 모호성을 과감히 없애기도 했다.

 

3) 기능이 풍부한 오픈 소스에요.

 - 이것은 마치 스팀의 창작 마당(겜돌이..)과 같이 느껴진다. 무슨 말이냐하면 누군가가 만들어둔 오픈 소스를 활용하여 쉽고 빠르고 편리하게 다양한 기능을 활용할 수 있다는 뜻이다.

 - 이렇게 자바 개발이 이루어질 때, 자바 개발을 위해 설치하는 라이브러리를 JDK(Jave Development Kit ; 자바 개발 키드).

자바 프로그램이 실행되는 환경을 JRE(Java Runtime Environment)라고 부른다.

 

4) 만들 수 있는 프로그램들이 다양해요.

 - 웹 서버, 안드로이드 앱, 그리고 게임까지도 다양하게 만들 수 있다.

 

 

4. 자바를 설치해보자

 

오라클 사이트에서 자바를 설치하고 이클립스를 설치했다.

(각각의 사이트에서 어렵지 않게 다운로드 받을 수 있으며 나는 자바 8버전, 이클립스는 최신 버전으로 설치했다.)

 

여기서 이클립스란 자바 프로그래밍을 하는 데 꼭 필요한 통합 개발 환경이다.

이 이클립스를 통해 자바 코드를 작성하고 컴파일을 실행시킬 수 있기에 꼭! 설치해야한다.

 

구동된 이클립스의 모습

 

 

5. 이클립스로 내 생의 첫 프로그램을 만들어보자

 

먼저 이클립스로 첫 프로젝트를 만든다.

[File - New - Java Project]를 선택하면 된다.

그리고 프로젝트 이름을 정해야 하는데 나는 javababo라고 했다.

 

자바 프로젝트를 만들고

그리고 아래와 같은 코드를 사용해 babo,java 문장 출력을 해냈다.

package babo;

public class babojava {
  public static void main(String[] args) {
    System.out.println("Babo, Java");
  }
}

 

사실 처음 해봐서, 아직 뭐가 뭔진 잘 모르겠지만.

어렸을 적 초등학교에서 html을 활용하여 웹사이트를 제작했던 과정이 생각났다.

충분히 재미있는 과정으로 느껴졌다.

 

여기서 기억해야할 것들!

- Tab을 누르면 들여쓰기가 된다 : 코드의 가독성이 높아진다.

- 여기서는 수행되어야 할 코드들을 묶을 때 중괄호 { , } 가 사용된다.

- 문장의 마침에는 세미콜론(;)이 사용된다.

- //를 붙이면 문장이 주석처리가 되고 긴 문장을 주석처리할 때는 /* - */ 를 활용하여 주석처리를 하면 된다.

저작자표시 비영리 동일조건 (새창열림)

'⁂ Java > : 독학으로 공부하기(과거)' 카테고리의 다른 글

[java] #3-1 조건문 : 제어 흐름 이해하기  (0) 2022.07.01
[java] #2-2 비트 연산자  (0) 2022.07.01
[java] #2-1 자바의 기본 연산자  (0) 2022.06.30
[java] #1-3 상수와 리터럴  (0) 2022.06.30
[java] #1-2 변수와 자료형  (0) 2022.06.29
    '⁂ Java/: 독학으로 공부하기(과거)' 카테고리의 다른 글
    • [java] #2-2 비트 연산자
    • [java] #2-1 자바의 기본 연산자
    • [java] #1-3 상수와 리터럴
    • [java] #1-2 변수와 자료형
    김갱환
    김갱환
    코딩의 코자도 모르는 이의 공부 기록장

    티스토리툴바