[코드프레소 체험단] 처음시작하는 Java 프로그래밍

Dev_Sanizzang·2022년 1월 13일
0

코드프레소 체험단

목록 보기
3/10
post-thumbnail

이 글은 코드프레소 Java 웹 개발 체험단 활동 중 처음시작하는 Java 프로그래밍 강좌를 기반으로 작성하였습니다.


코드프레소 URL: https://www.codepresso.kr/

강의 목차


먼저 강의 목차는 아래 그림과 같이 구성되어 있습니다.

과정 소개



첫 번째 목차인 과정 소개에서는 코드프레소 플랫폼 사용법에 대해 소개시켜줍니다.

Java 프로그래밍 언어의 소개



두 번째 목차인 Java 프로그래밍 언어의 소개에서는 Java 언어 소개와 Java 주요 용어에 대해 설명해줍니다.

Java 언어 소개

  • 1991년 제임스 고슬링 주축인 그린 프로젝트로 시작
  • TV 셋톱박스 등의 다양한 종류의 기기에서 동작하는 언어를 지향
  • 1995년 Sun Microsystems에서 Java 1.0 공식 발표
  • 2021년 현재 Java 18까지 출시 됨

Java 언어의 특징

  • WORA - Write Once Run Anywhere
  • Java 이전 C, C++은 하드웨어에 의존적
    - 다른 종류의 하드웨어에서 실행하기 위해서는 재 컴파일 필요
  • Java는 한번 작성 및 컴파일 된 결과물이 어디서는 동작 가능
    - JVM(Java Virtual Machine)이 핵심!
  • 객체 지향 언어
  • Java 코드는 class를 기본 단위로 구성 됨
  • 상속, 다형성, 캡슐화 등의 객체지향적 요소를 언어적으로 지원
  • 자동화 된 메모리 관리
  • 프로그램은 컴퓨터 메모리를 사용
    -메모리 자원은 한정적이며, 효율적인 관리가 필수
  • JVM의 Garbage Collector가 사용되지 않는 메모리 자원을 회수
    - 개발자가 직접 메모리 관리를 하지 않아도 됨

Java 언어 적용 분야

  • 모바일 애플리케이션 개발
  • 웹 애플리케이션 개발
  • 빅데이터 솔루션 개발
  • 데이터베이스 개발
  • 데스크탑 GUI 애플리케이션 개발
  • 빅데이터 분석, 머신러닝
  • 게임 개발
  • 임베디드 SW 개발

Point!

  • Wirte Once, Run Anywhere
  • Java는 객체 지향 언어
  • JVM의 Garbage Collector가 메모리를 자동 관리

Bytecode와 JVM

  • Bytecode
    - Java 소스코드를 빌드 했을 경우 생성 되는 중간 코드

    • 어셈블리어와 유사한 형태
    • 기계가 바로 실행할 수 없음
  • JVM

    • Java Virtual Machine
    • Bytecode를 실행하기 위한 가상 머신
    • Write Once, Run Anywhere를 구현하는 핵심
    • OS, HW 독립적으로 Bytecode를 실행 가능
      - Java Bytecode와 OS/HW 사이의 번역기

    JRE와 JDK

  • JRE
    - Java Runtime Environment
    - JVM + Java 애플리케이션 실행에 필요한 추가적인 라이브러리 등을 포함
    - Java 애플리케이션을 실행하기 위한 기본 단위

  • JDK
    - Java Development Kit
    - JRE + Java 개발 도구를 포함
    - Java 개발을 위해서는 JDK 설치가 필수

    Point!

  • Java 소스코드를 컴파일하면 Bytecode라는 중간 코드가 생성 됨

  • JVM으로 플랫폼 독립적인 WORA를 수현

  • JRE는 실행 환경, JDK는 개발 도구를 제공

    실습 환경 세팅



    세 번째 목차인 실습 환경 세팅에서는 해당 강의에서 사용할 SW(JDK)와 IDE(IntelliJ)를 알려주고 설치 방법을 설명합니다.

나의 첫 Java 애플리케이션



네 번째 목차인 나의 첫 Java 애플리케이션에서는 IntelliJ로 Java 프로젝트를 직접 생성해보고 Main 메소드를 구현하고 실행해봅니다. 또한 Java 기초 문법 요소와 입문자가 자주 겪는 에러에 대해 설명합니다.

클래스와 객체

  • 클래스는 Java 프로그램의 기본 단위
  • Java 프로그램은 한 개 이상의 클래스로 구성 됨
  • 일반적으로 1개의 클래스는 1개의 Java 파일
    - 파일명과 클래스명이 동일해야함
    • 클래스명은 대문자로 시작
  • Java는 객체지향(Object Oriented) 언어
  • 객체는 사물(또는 우리가 상상할 수 있는 개념)
  • 객체는 속성과 행동을 갖고 있음
  • 클래스는 객체를 만들기 위한 틀 또는 템플릿

핵심

  • Java 프로그램의 기본 단위는 클래스이다
  • (일반적으로) 1개의 클래스는 1개의 Java 파일과 매핑 된다
    - 이름도 동일해야 한다(대문자로 시작)
  • 클래스로 객체를 생성하며, 객체는 속성(데이터)와 행동(메소드)를 갖는다

변수와 연산자



다섯번째 목차인 변수와 연산자에서는 변수에대한 개념, Java 자료형, 연산자에 대해서 배웁니다.

변수

  • 컴퓨터 프로그램은 데이터와 그 데이터를 처리하는 알고리즘으로 구성 됨
  • 변수(Variable)는 데이터를 저장하기 위한 공간
    - 실제 데이터는 컴퓨터 메모리에 저장 됨
  • 변수는 이름이 존재
    - name, age, title, content, ...
    • 명확한 이름은 그 변수에 어떤 데이터가 들어 있는지 쉽게 파악할 수 있게 함

변수의 작명 Rules and Conventions(규칙과 규약)

  • Rule
    - 반드시 따라야 하는 것
    • 따르지 않을 경우 에러 발생
  • Convention
    • 따르는 것을 강하게 권장하는 것
    • 따르지 않는다고 에러가 발생하지 않음
    • 따르는 경우 코드의 품질, 가독성이 향상 됨

변수의 작명 Rules

  • 변수의 이름은 알파벳, _, $ 로만 시작한다
  • 변수의 이름은 대소문자를 구분한다
    - age와 Age는 서로 다른 변수
  • Java 언어에서 사용되는 키워드는 변수의 이름으로 사용 불가
    - if, true, class, public 등 Java 언어에서 사용 되는 키워드 사용 불가
  • 특수문자는 _와 $만 사용 가능

변수의 작명 Conventions

  • 변수의 이름은 최대한 의미 있는 이름으로 짓는다
    - 저장되는 데이터를 가장 잘 표현하는 이름
  • 변수의 이름은 알파벳 소문자로 시작한다
  • 여러 단어 연결 시 각 단어의 첫 글자를 대문자로 한다(camelCase)
    - fixedPrice, colorOfSky, maxHeight

Point!

  • 변수는 데이터를 저장하기 위한 공간으로 이름을 갖고 있다
  • 변수는 선언 후 데이터를 대입(저장)할 수 있다.
  • 변수의 이름으로 변수에 저장 되어 있는 데이터를 사용한다
  • Rule과 Convention을 잘 따라서 변수의 이름을 정해야 한다.

정수 자료형

  • 크기에 따라 더 큰 값을 저장 가능
  • 자료형의 크기보다 더 큰 값을 저장 시 에러 발생
  • int 범위를 넘어서는 숫자를 사용하기 위해서는 숫자 뒤에 L 접미사 필요
  • 자바 컴퍼일러가 숫자 값을 default로 int형으로 판단

실수 자료형

  • double이 float 보다 더 크고 정확한 실수를 저장 및 연산 가능
  • float 값에는 접미사 f 필요

문자 자료형

  • 1개의 문자를 저장
  • 작은따옴표를 사용하여 값을 표현
    - 큰따옴표는 문자열을 의미, char에 저장 불가
  • 2개 이상의 연속된 문자(문자열)를 저장 불가

논리 자료형

  • 참(true) 또는 거짓(false)을 저장하는 자료형

Java 참조 자료형

  • String
    - 문자열 데이터를 저장하기 위한 자료형
  • Array
  • Collections(List, Map, Set, ...)
  • 개발자가 만든 객체

문자열 자료형

  • 하나 이상의 연속 된 문자들의 집합을 저장
  • 큰 따옴표를 사용하여 표현
  • String은 객체이기 때문에 속성과 행동을 갖고 있음
  • String 변수의 메소드(행동) 호출
    - 문자열변수명.메소드이름() ex) 문자열변수명.length()

Java 연산자의 종류

기본 자료형의 형 변환(Type Conversion/Casting)

  • 형 변환
    - 특정 자료형의 값을 다른 자료형으로 변환하는 것
  • 기본 자료현 간의 형 변환의 종류
    - 확장 형 변환: 작은 크기의 자료형에서 더 큰 크기의 자료형으로 형 변환
    • 축소 형 변환: 큰 크기의 자료현에서 더 작은 크기의 자료형으로 형 변환

조건문



여섯번째 목차인 조건문에서는 단일 조건문과 if-else문과 switch-case문과 같은 자바에서 사용하는 조건문에 대해 배웁니다.

제어문(Control Flow Statement)

  • 자바 프로그램은 기본적으로 위에서 아래로 순차적으로 실행 됨
  • 프로그램의 실행 순서를 제어 가능
    - 조건에 따라 실행 코드를 분기 - 조건문(Conditional Statement)
    • 특정 코드를 반복해서 실행 - 반복문(Loop Statement)

조건문 - 단일 if문의 활용

  • 조건문의 유형 1 - 단일 if문(if Statement)
  • 문법
    - if 다음에 나오는 조건식을 체크 (조건식의 결과는 true 또는 false)
    - 조건식의 결과가 true 이면 if 내부의 코드를 실행
    - 조건식이 결과가 false 이면 if 내부의 코드를 실행하지 않음

if - else 문의 활용

  • 조건문의 유형 2: if - else 문
  • 문법
    - 조건식의 결과에 따라 실행할 코드의 위치가 달라짐

switch - case 문

  • 조건문을 switch - case 문으로 표현 가능
  • 조건식의 경우의 수가 많아지더라도 간결하게 표현할 수 있음
  • 처리속도가 if - else if 문 보다 빠름

배열



일곱번째 목차인 배열에서는 자바에서의 배열에 대한 개념에 대해 배웁니다.

Java 배열(Array)

  • 데이터를 담을 수 있는 상자가 연결되어 있는 형태
  • 단일 배열에는 동일한 자료형의 데이터만 저장 가능
  • 배열은 길이 속성을 갖고, 길이는 생성 시에 고정 됨
  • 배열은 순서가 존재하며, 0으로 시작하는 번호를 갖고 있음(index)

반복문



일곱번째 목차인 반복문에서는 반본문의 개념, for문, while문에 대해서 배웁니다.

반복문

  • 특정 코드 집합(코드 블록)을 반복적으로 수행
  • 주어진 조건을 만족할 때까지 반복하거나, 일정 회수 만큼 반복
    - HelloWorld을 10번 출력
    • 2의 거듭제곱을 반복하여, 결과가 1000이 넘을 때까지 반복
      • 1000보다 작으면 계속 반복

for문의 흐름

1) 초기식을 실행한다.
2) 조건식을 실행하여 조건식의 결과가 true 이면,
3) 반복문 내의 코드를 실행한다.
4) 코드의 실행이 모두 끝나면 증감식을 실행한다.

while 문

  • 반복문 구현을 위한 방법 중에 하나로 구조가 비교적 간결함
  • 문법
    - 반복문을 위한 while 키워드를 사용하여 구문을 시작
    - 반복을 위한 조건식을 작성
    - 중괄호 {} 내에는 조건식의 결과가 true인 동안 실행할 코드들을 작성
profile
기록을 통해 성장합니다.

0개의 댓글