인터넷

자바 강의 2시간 완성 초보자용 (1분 자바)

idcjw 2025. 9. 12. 10:31
반응형



자바 강의(초보자용)는 어떤 내용을 다루고 있으며, 어떤 사람들에게 유용한가요?

이 강의는 총 두 시간 분량으로, 프로그래밍 언어의 가장 기초가 되는 자료형부터 연산자, 제어문, 배열, 클래스는 물론 예외 처리, 쓰레드, 파일까지 자바를 다루기 위해 꼭 알아야 할 내용을 모두 포함 하고 있습니다. 자바를 한 번 공부해 본 사람들의 복습 용도나 자바를 모르는 사람들이 언어를 빠르게 훑어보는 용도로 활용하기 좋습니다.

자바 개발을 위한 환경 설정은 어떻게 해야 하나요?

자바 개발을 위한 환경 설정 방법은 따로 안내되지 않으므로, 실습을 원하는 경우 인프런에서 무료로 제공되는 미리 보기를 통해 PC 환경에 맞게 환경 설정을 진행해야 합니다.

이 강의는 자바 프로그래밍의 핵심 개념을 단 2시간 만에 마스터할 수 있도록 설계된 초고속 입문 가이드입니다. 자료형, 연산자, 제어문, 배열, 클래스, 예외 처리, 스레드, 입출력, 파일 등 자바 개발에 필수적인 모든 내용을 핵심만 짚어 빠르게 학습할 수 있습니다. 이미 자바를 경험한 개발자에게는 효율적인 복습 도구로, 처음 접하는 분들에게는 자바의 전체 그림을 빠르게 파악하고 실용적인 코딩 스킬을 익히는 데 최적화된 콘텐츠입니다. 복잡한 이론 대신 실질적인 코드 예제를 통해 자바의 기본기를 탄탄히 다지고 싶은 분들에게 강력히 추천합니다.

1. 자바 강의 소개 및 학습 환경 설정

  1. 강의 목표: 자바 프로그래밍의 핵심 개념을 2시간 만에 빠르게 학습할 수 있도록 구성된 초고속 입문 가이드이다.
    1. 학습 내용: 자료형, 연산자, 제어문, 배열, 클래스, 예외 처리, 스레드, 파일 등 자바 개발에 필수적인 모든 내용을 포함한다.
    2. 대상:
      1. 자바를 경험한 개발자에게는 효율적인 복습 도구로 활용될 수 있다.
      2. 자바를 처음 접하는 사람들에게는 자바의 전체 그림을 빠르게 파악하고 실용적인 코딩 스킬을 익히는 데 최적화된 콘텐츠이다.
  2. 환경 설정: 자바 개발 환경 설정 방법은 강의에서 별도로 안내하지 않는다.
    1. 실습 희망 시: 인프런에서 무료로 제공되는 미리 보기를 통해 사용자의 PC 환경에 맞게 환경 설정을 진행해야 한다.

2. 자바 자료형과 변수

2.1. 자료형 (Data Type)

  1. 자료형의 정의: 자료의 형태를 의미하며, 영어로는 데이터 타입(Data Type)이라고 표현한다.
  2. 주요 자료형 종류:
    1. 문자열 (String): "Hello World", "안녕하세요"와 같이 앞뒤로 큰따옴표를 붙여 표현한다.
    2. 숫자 자료형: 정수(12, -34) 또는 실수(3.14) 형태의 숫자를 표현한다.
      1. 정수: int, long 등이 있다.
      2. 실수: double, float 등이 있다.
    3. 불린 (Boolean): 참(true) 또는 거짓(false) 둘 중 하나의 값만 가질 수 있다.
  3. 자료형의 분류: 기본 자료형과 참조 자료형 두 가지로 나뉜다.
    1. 기본 자료형: 실제 데이터 값을 바로 저장한다.
      1. 종류: int, long, float, double, char, boolean 등이 있다.
      2. 세부 정보:
        1. int: 정수 표현, 크기 4바이트, 약 -21억부터 +21억사이의 수 표현 가능.
        2. long: 정수 표현, 크기 8바이트, 약 -2의 63승부터 +2의 63승사이의 큰 수 저장 가능.
        3. float: 실수 표현, 크기 4바이트, 약 여섯 자리에서 일곱 자리정도 정확하게 표현 가능.
        4. double: 실수 표현, 크기 8바이트, 약 15자리정도 정확하게 표현 가능.
        5. boolean: 참 또는 거짓 값만 가짐, 크기 1바이트.
        6. char: 하나의 문자 표현, 크기 2바이트.
    2. 참조 자료형: 데이터가 저장되어 있는 메모리 주소 값을 저장한다.
      1. 종류: 기본 자료형을 제외한 모든 것, 즉 클래스, 인터페이스, 배열, 열거형 등이 있다.
      2. String도 참조 자료형에 해당한다.

2.2. 변수 (Variable)

  1. 변수의 정의: 자료(값)를 저장하기 위한 공간이다.
  2. 변수 선언 및 초기화 방법:
    1. 선언과 동시에 초기화: 자료형 변수명 = 값; 형태로 작성한다.
      1. 예시: String name = "나도 코딩"; (문자열 "나도 코딩"을 name 변수에 대입)
      2. 예시: int age = 15; (정수 15를 age 변수에 대입)
      3. 예시: double score = 90.5; (실수 90.5를 score 변수에 대입)
      4. 예시: char grade = 'A'; (문자 'A'를 grade 변수에 대입)
      5. 예시: boolean pass = true; (불린 값 true를 pass 변수에 대입)
    2. 선언 후 값 저장:
      1. 자료형 변수명; (변수 선언)
      2. 변수명 = 값; (값 저장)
      3. 예시: int age; (변수 age 선언) -> age = 15; (값 15 저장)

3. 주석 (Comment)

  1. 주석의 목적: 코드에 설명을 추가할 때 사용한다.
  2. 주석의 특징: 주석으로 처리된 문장은 프로그램 실행 시 무시된다.
  3. 주석 처리 방법:
    1. 한 줄 주석: 슬래시 두 번(//)을 사용한다.
      1. 문장 뒤에 설명 추가: int hour = 15; // 현재 시각은 15
      2. 문장 실행 방지: // double score = 90.5;
    2. 여러 줄 주석: 슬래시 별표(/<em>)로 시작하고 별표 슬래시(</em>/)로 끝내어 여러 문장을 감싼다.
      1. 예시: /<em> int hour = 15; double score = 90.5; </em>/

4. 변수명 규칙 및 상수

4.1. 변수명 규칙

  1. 권장 사항: 값을 가장 잘 표현하는 이름으로 짓는 것이 좋다.
  2. 제약 사항:
    1. 밑줄(_), 문자, 숫자만 사용 가능하다.
    2. 변수명에 공백이 들어갈 수 없다.
    3. 변수명은 밑줄(_) 또는 문자로만 시작할 수 있으며, 숫자로 시작할 수 없다.
    4. 자바에서 이미 사용하기로 예약된 예약어(public, static, void, int 등)는 변수명으로 사용할 수 없다.
    5. 변수명은 대소문자를 구분한다 (myName과 myname은 서로 다른 변수이다).
  3. 자바 변수명 관례 (Camel Case):
    1. 한 단어 또는 두 개 이상의 단어의 연속으로 이름을 짓는다.
    2. 변수명은 소문자로 시작한다.
    3. 두 번째 단어부터는 각 단어의 시작 글자를 대문자로 적는다 (예: myVariableName).

4.2. 상수 (Constant)

  1. 상수의 정의: 변하지 않는 값이다.
  2. 상수 생성 방법: 변수를 만드는 문장 앞에 final 키워드를 붙인다.
    1. 예시: final int HOUR = 15;
  3. 상수의 특징:
    1. final 키워드로 정의된 상수는 처음에 값을 집어넣으면 그 값으로 고정되어 변경할 수 없다.
    2. 코드에서 딱 한 번 정의하고 나서 더 이상 바뀔 일이 없는 데이터의 경우 상수로 정의할 수 있다.

5. 형 변환 (Type Conversion)

  1. 형 변환의 정의: 정수, 실수, 문자열 등 자료형 간의 변환을 의미한다.
  2. 명시적 형 변환 (Explicit Type Conversion):
    1. 변환하려는 변수명이나 값 앞에 괄호(())를 하고 바꾸려는 자료형을 명시한다.
    2. 예시: float floatScore = (float)score; (정수 score를 실수 float로 변환)
    3. 예시: double doubleValue = (double)93; (정수 93을 실수 double로 변환)
    4. 필수 조건: 큰 데이터 타입을 작은 데이터 타입으로 변환할 때 (예: double에서 int로) 데이터 손실(소수점 이하 버려짐)이 발생할 수 있으므로 자료형을 반드시 명시해야 한다.
  3. 묵시적 형 변환 (Implicit Type Conversion):
    1. 컴파일러가 변환 중에 데이터 손실이 없다고 판단할 때, 소스 코드에서 자료형을 명시하지 않아도 자동으로 형 변환을 해준다.
    2. 예시: int에서 long으로, long을 float으로, float을 double로 변환할 때.

6. 자바 연산자

6.1. 연산자 개요

  1. 연산자의 정의: 값을 계산하기 위해 사용되는 기호이다.
  2. 예시: 1 + 2에서 + 기호가 연산자이다.

6.2. 산술 연산자 (Arithmetic Operators)

  1. 종류: 수학에서 자주 사용되는 기호들이다.
    1. 덧셈 (+): 4 + 1의 결과는 5이다.
    2. 뺄셈 (-): 4 - 2의 결과는 2이다.
    3. 곱셈 (<em>): 프로그래밍에서는 x 대신 </em>를 사용한다. 4 * 2의 결과는 8이다.
    4. 나눗셈 (/): 4 / 2의 결과는 2이다.
    5. 나머지 (%): 어떤 수를 뒤의 수로 나눴을 때의 나머지 부분을 반환한다. 5 % 2의 결과는 1이다.
    6. 증가 (++): 변수의 값을 1 증가시킨다.
      1. 전위 연산 (++변수): 먼저 변수 값을 1 증가시킨 후 다른 연산을 수행한다.
      2. 후위 연산 (변수++): 다른 연산을 모두 수행한 후 변수 값을 1 증가시킨다.
    7. 감소 (--): 변수의 값을 1 감소시킨다.
      1. 전위 연산 (--변수): 먼저 변수 값을 1 감소시킨 후 다른 연산을 수행한다.
      2. 후위 연산 (변수--): 다른 연산을 모두 수행한 후 변수 값을 1 감소시킨다.

6.3. 대입 연산자 (Assignment Operators)

  1. 대입 연산자 (=): 등호(=)를 기준으로 오른쪽에 있는 값 또는 식을 왼쪽에 있는 변수에 대입한다.
    1. 예시: int num = 10; (num에 10대입)
    2. 예시: num = num + 2; (num이 10일 때, 10 + 2 = 12를 num에 대입)
  2. 복합 대입 연산자: num = num + 2와 같이 똑같은 변수를 두 번 쓰는 것을 줄이기 위해 사용한다.
    1. 덧셈 대입 (+=): num += 2;는 num = num + 2;와 동일하다.
    2. 뺄셈 대입 (-=): num -= 2;는 num = num - 2;와 동일하다.
    3. 곱셈 대입 (*=), 나눗셈 대입 (/=), 나머지 대입 (%=) 등도 동일하게 사용 가능하다.

6.4. 비교 연산자 (Comparison Operators)

  1. 목적: 왼쪽 값이 오른쪽 값보다 큰지, 작은지, 같은지, 다른지 등을 비교한다.
  2. 종류:
    1. 크다 (>): 왼쪽이 오른쪽보다 크면 true를 반환한다. 5 > 3의 결과는 true이다.
    2. 크거나 같다 (>=): 왼쪽이 오른쪽보다 크거나 같으면 true를 반환한다. 5 >= 5의 결과는 true이다.
    3. 작다 (<): 왼쪽이 오른쪽보다 작으면 true를 반환한다. 5 < 3의 결과는 false이다.
    4. 작거나 같다 (<=): 왼쪽이 오른쪽보다 작거나 같으면 true를 반환한다. 5 <= 3의 결과는 false이다.
    5. 같다 (==): 왼쪽과 오른쪽이 같으면 true를 반환한다.
      1. 주의: 수학과 달리 프로그래밍에서 등호(=) 한 번은 대입 연산자이므로, 비교를 위해서는 등호 두 번(==)을 사용해야 한다.
      2. 5 == 5의 결과는 true이다.
    6. 다르다 (!=): 왼쪽과 오른쪽이 다르면 true를 반환한다. 느낌표(!)를 사용한다.
      1. 5 != 3의 결과는 true이다.

6.5. 논리 연산자 (Logical Operators)

  1. 종류:
    1. AND (&&): 왼쪽과 오른쪽이 모두 참(true)이면 true를 반환한다. 하나라도 거짓(false)이면 false를 반환한다.
      1. 예시: (5 > 3) && (3 > 1)의 결과는 true이다.
    2. OR (||): 왼쪽 또는 오른쪽 중 하나라도 참(true)이면 true를 반환한다. 모두 거짓(false)이면 false를 반환한다.
      1. 예시: (5 > 3) || (3 < 1)에서 5 > 3이 참이므로 결과는 true이다.
    3. NOT (!): 참 또는 거짓의 반대를 반환한다.
      1. 예시: !(5 == 5)에서 5 == 5는 참이므로, !를 붙이면 결과는 false이다.

6.6. 삼항 연산자 (Ternary Operator)

  1. 사용법: 조건 ? 참일 때 값 : 거짓일 때 값 형태로 사용한다.
    1. 물음표(?) 왼쪽의 조건이 참이면 콜론(:) 왼쪽 부분이 실행되거나 반환된다.
    2. 조건이 거짓이면 콜론(:) 오른쪽 부분이 실행되거나 반환된다.
  2. 예시: 두 수 x와 y 중 더 큰 수를 구하는 경우.
    1. int max = (x > y) ? x : y;
    2. x = 3, y = 5일 때, x > y (3 > 5)는 거짓이므로 y 값인 5가 max에 대입된다.

7. 자바 문자열 (String)

7.1. 문자열 개요

  1. 문자열의 정의: 여러 문자들의 집합이다.
  2. 표현 방법: 항상 좌우로 큰따옴표(")로 감싸준다.
    1. 예시: String s = "나도 자바";

7.2. 문자열 주요 기능

  1. length(): 문자열의 길이를 확인한다.
    1. 예시: "나도 자바".length()는 11을 반환한다 (공백 포함).
  2. toUpperCase(): 모든 문자를 대문자로 바꾼다.
  3. toLowerCase(): 모든 문자를 소문자로 바꾼다.
  4. contains(String s): 문자열 내에 특정 글자들이 포함되는지 확인한다.
    1. 포함되면 true, 아니면 false를 반환한다.
  5. indexOf(String s): 특정 문자가 어느 위치(인덱스)에 포함되는지 확인한다.
    1. 인덱스는 항상 0부터 시작한다.
    2. 예시: "나도 자바".indexOf("자바")는 7을 반환한다.
  6. lastIndexOf(String s): 특정 문자의 마지막 위치(인덱스)를 확인한다.
    1. 예시: "JAVA".lastIndexOf("A")는 3을 반환한다.
  7. startsWith(String prefix): 문자열이 특정 문자열로 시작하는지 확인한다.
    1. 시작하면 true, 아니면 false를 반환한다.
  8. endsWith(String suffix): 문자열이 특정 문자열로 끝나는지 확인한다.
    1. 예시: "나도 자바".endsWith(".")는 false를 반환한다.
  9. replace(CharSequence target, CharSequence replacement): 문자열 내의 특정 값들을 다른 값으로 변환한다.
    1. 예시: "나도 자바".replace("나도", "너도")는 "너도 자바"를 반환한다.
  10. substring(int beginIndex): 문자열 내에서 원하는 만큼을 잘라낸다.
    1. 시작 인덱스 이후의 글자만 잘라낸다.
    2. 예시: "나도 자바".substring(7)은 "자바"를 반환한다.
  11. trim(): 문자열 앞뒤의 공백을 제거한다.
  12. concat(String str): 문자열을 결합한다.
    1. 예시: "나도 자바".concat(" 그리고 파이썬")은 "나도 자바 그리고 파이썬"을 반환한다.

7.3. 문자열 비교

  1. 정수 비교: == 연산자를 사용하여 두 정수 값이 같은지 비교한다.
    1. 예시: num1 == num2 (num1이 3, num2가 3일 때) 결과는 true이다.
  2. 문자열 비교 시 == 사용의 문제점:
    1. String s1 = "자바"; String s2 = "자바";와 같이 선언하면, 메모리 상에서 "자바"라는 문자열이 한 군데 저장되고 s1, s2가 같은 위치를 참조하게 되어 s1 == s2는 true가 나올 수 있다.
    2. 그러나 String s1 = new String("자바"); String s2 = new String("자바");와 같이 new 키워드를 사용하여 선언하면, 똑같은 문자열임에도 불구하고 서로 다른 메모리 공간에 각각 "자바"라는 문자열을 만들게 된다.
    3. 이 경우 s1 == s2는 서로 다른 메모리 주소를 참조하므로 false가 된다.
    4. 결론: 자바에서 문자열의 값을 비교하려면 == 연산자를 사용하면 안 된다.
  3. 올바른 문자열 값 비교: equals() 메소드를 사용한다.
    1. s1.equals(s2)를 사용하면 s1 문자열의 값과 s2 문자열의 값이 같은지를 비교할 수 있다.

7.4. 특수 문자 (Escape Sequence)

  1. 특수 문자의 정의: 특별한 기능을 수행하는 문자이다.
  2. 주요 특수 문자:
    1. `

`: 줄바꿈을 위해 사용한다.

  1. 예시: `"a

b" 출력 시 a 다음 줄에 b`가 출력된다.

  1. \t: 탭 기능을 수행한다.
    1. 예시: "a\tb" 출력 시 a 다음에 탭 간격 후 b가 출력된다.
  2. \\: 역 슬래시(\) 자체를 표현한다.
    1. 역 슬래시는 다른 문자와 합쳐져 특수 문자 기능을 수행하므로 단독으로 쓸 수 없다.
  3. \": 큰따옴표(")를 문자열 내에 출력한다.
    1. 예시: "a\"b\"c" 출력 시 a"b"c가 출력된다.
  4. \': 작은따옴표(')를 문자열 내에 출력한다.
    1. 예시: "a\'b\'c" 출력 시 a'b'c가 출력된다.

8. 자바 제어문

8.1. if 문

  1. if 문의 목적: 조건에 따른 분기를 위해 사용한다.
  2. 기본 사용법: if (조건) { 명령문; }
    1. 조건이 참(true)일 때 중괄호({}) 안의 명령문이 실행된다.
    2. 수행될 명령문이 한 줄일 때는 중괄호 없이도 사용 가능하지만, 두 줄 이상일 때는 반드시 중괄호로 묶어야 한다.
  3. 예시: int num = 3;
    1. if (num > 0): num이 0보다 크므로 이 조건은 참이고, 해당 명령문이 실행된다.
    2. if (num < 0): num이 0보다 작지 않으므로 이 조건은 거짓이고, 해당 명령문은 실행되지 않는다.
  4. 여러 조건 사용:
    1. AND (&&): 여러 조건을 모두 만족하는 경우에 실행되도록 한다.
      1. 예시: if (num > 0 && num < 5) (num이 0보다 크고 5보다 작으면 실행)
    2. OR (||): 여러 조건 중 하나라도 참이면 실행되도록 한다.
      1. 예시: if (num > 0 || num < 5) (num이 0보다 크거나 5보다 작으면 실행)

8.2. else 문

  1. else 문의 목적: if 문의 조건을 만족하지 않는 경우에 실행되는 문장이다.
  2. 기본 사용법: if (조건) { 명령문1; } else { 명령문2; }
    1. if 조건이 참이 아닐 때 else 뒤의 명령문이 실행된다.
    2. 명령문이 하나일 때는 중괄호 없이 쓸 수 있지만, 여러 개일 때는 중괄호로 묶어야 한다.
  3. 예시: int num = 3;
    1. if (num < 0): num이 3이므로 조건은 거짓이다.
    2. else: if 조건이 거짓이므로 else 뒤의 명령문이 실행된다.

8.3. else if 문

  1. else if 문의 목적: if 문에서 어떤 다른 조건을 추가하기 위해 사용한다.
  2. 기본 사용법: if (조건1) { 명령문1; } else if (조건2) { 명령문2; } else { 명령문3; }
    1. 첫 번째 if 조건이 만족하지 않을 경우, 두 번째 else if 조건을 확인한다.
    2. else if는 여러 번 중복해서 사용할 수 있다.
    3. 명령문이 한 줄일 때는 괄호 없이, 여러 줄일 때는 중괄호로 묶는다.
  3. 예시: int num = 3;
    1. if (num < 3): num이 3이므로 조건은 거짓이다.
    2. else if (num > 3): num이 3이므로 조건은 거짓이다.
    3. else if (num == 3): num이 3이므로 조건은 참이고, 해당 명령문이 실행된다.
  4. if 문 형태 정리:
    1. 기본 if: if (조건) { 명령문; }
    2. if-else: if (조건) { 명령문1; } else { 명령문2; }
    3. if-else if-else: if (조건1) { 명령문1; } else if (조건2) { 명령문2; } else { 명령문3; }
  5. 주의 사항:
    1. else if 문은 여러 번 사용 가능하다.
    2. else 문은 사용하지 않거나, 마지막에 딱 한 번만 사용 가능하다.

      자바 강의 2시간 완성 초보자용 (1분 자바)나머지분량




 

자바 강의 2시간 완성 초보자용 (1분 자바) - 하나이프 블로그

이 강의는 총 두 시간 분량으로, 프로그래밍 언어의 가장 기초가 되는 자료형부터 연산자, 제어문, 배열, 클래스는 물론 예외 처리, 쓰레드, 파일까지 자바를 다루기 위해 꼭 알아야 할 내용을

hanaif.co.kr

 

 

반응형