대상
30대 비전공자 친구(무역 업무를 오래 하다가 개발자가 되고 싶어서 도전 중)
교육 내용
인텔리제이 설치
IntelliJ IDEA – Java 및 Kotlin을 위한 최고의 IDE
www.jetbrains.com
주석
// 한 줄 주석
/*
여러 줄 주석
여러 줄에 걸쳐 주석을 작성할 때 사용합니다.
*/
변수
int number = 10; // 정수형 변수
double pi = 3.14; // 실수형 변수
String name = "John"; // 문자열 변수
boolean isJavaFun = true; // 불리언 변수교육을 하다가 신기한 것을 알게 되었다.
캐릭터 자료형의 경우
char = '1' 등과 같이 썻을 때 더하거나 연산을 하지 않는 이상 int로 캐스팅을 하지 않아도 그냥 1으로 써진다는 것
타입
int age = 25; // 정수형 타입
double salary = 45000.50; // 실수형 타입
char grade = 'A'; // 문자형 타입
boolean isAvailable = false; // 불리언 타입
String message = "Hello, World!"; // 문자열 타입 (참조 타입)
원시형 자료형 (Primitive Types)
종류: byte, short, int, long, float, double, char, boolean
저장 위치: 스택 메모리 크기: 고정된 크기 (예: int는 4바이트)
기본 값: 각 타입에 따른 기본 값이 있음 (예: int의 기본 값은 0)
불변성: 값 자체가 변경되지 않음 성능: 참조형보다 빠름
참조형 자료형 (Reference Types)
종류: 배열, 클래스, 인터페이스, 열거형 등
저장 위치: 힙 메모리 (참조 변수는 스택에 저장됨)
크기: 객체에 따라 다름
기본 값: null불변성: 객체의 속성은 변경 가능 성능: 원시형보다 상대적으로 느림
변수명 관례
int studentAge = 20; // Camel Case 사용
double averageScore = 85.5;
String firstName = "Alice";
boolean isPassed = true;
증감 연산자
int a = 10;
a++; // a를 1 증가시킴, a는 이제 11
a--; // a를 1 감소시킴, a는 이제 10
int b = 5;
++b; // b를 1 증가시킴, b는 이제 6
--b; // b를 1 감소시킴, b는 이제 5
비교 연산자
int x = 5;
int y = 10;
System.out.println(x == y); // false, x와 y가 같은지 비교
System.out.println(x != y); // true, x와 y가 다른지 비교
System.out.println(x > y); // false, x가 y보다 큰지 비교
System.out.println(x < y); // true, x가 y보다 작은지 비교
System.out.println(x >= y); // false, x가 y보다 크거나 같은지 비교
System.out.println(x <= y); // true, x가 y보다 작거나 같은지 비교
논리 연산자
boolean a = true;
boolean b = false;
System.out.println(a && b); // false, 논리 AND 연산자
System.out.println(a || b); // true, 논리 OR 연산자
System.out.println(!a); // false, 논리 NOT 연산자
대입 연산자
int num = 10;
num += 5; // num은 이제 15 (num = num + 5)
num -= 3; // num은 이제 12 (num = num - 3)
num *= 2; // num은 이제 24 (num = num * 2)
num /= 4; // num은 이제 6 (num = num / 4)
num %= 5; // num은 이제 1 (num = num % 5)
조건문
int score = 85;
if (score >= 90) {
System.out.println("A 학점");
} else if (score >= 80) {
System.out.println("B 학점");
} else if (score >= 70) {
System.out.println("C 학점");
} else if (score >= 60) {
System.out.println("D 학점");
} else {
System.out.println("F 학점");
}
반복문
// for 반복문
for (int i = 0; i < 5; i++) {
System.out.println("For Loop: " + i);
}
// while 반복문
int j = 0;
while (j < 5) {
System.out.println("While Loop: " + j);
j++;
}
// do-while 반복문
int k = 0;
do {
System.out.println("Do-While Loop: " + k);
k++;
} while (k < 5);
느낀 점
나도 개발을 시작할 때 이렇게 어려워 했던가? 라는 생각과 함께 노베이스의 시각에서 눈을 맞춰볼 수 있어서 좋았다.
아주 흥미로운 점은, 당연하다고 생각 했던 것들에 대해서 왜? 라는 질문을 가지는 초심자의 순수함에서 되려 반성할 부분이 많았다는 것이다.
나도 물으며 살아 가야겠다. 왜?