1. 생활코딩 JAVA2 - Method
Method에 대해 배웠다. 함수가 자바에서는 method라고 불린다는 것과, method를 사용함으로써 코드의 중복을 줄이고 유지 및 보수하기 용이한 코드를 짤 수 있다는 것이 흥미로웠다. Javascript에서 함수를 공부할 때도 흥미로웠었는데 JAVA의 method가 javascript의 함수와 상당히 유사하다는 점에 놀랐다. 언어 하나를 제대로 배우면 다음 언어를 배우는 것은 어렵지 않다는 표현이 이래서 있는 것 같다는 생각을 했다.
+ JAVA가 객체지향언어라는 것이 무슨 의미인지 조금 이해할 수 있게 됐다. 객체는 Class와 Instance를 포괄하는 개념으로 일종의 폴더? 같은 개념인 것 같다. Class에는 Method와 변수가 들어 있고, 그 Class들이 모여서 하나의 프로젝트를 이루는 방식인 듯 하다. 위계에 따라 상위, 하위 개체(?)들이 효율적으로 작동한다는 점에서 하나의 군대를 연상케 했다. (분대 - 소대 - 중대 - 대대 - 연대 - 사단 - ... / 전근대 군대의 십부 - 백부 - 천부 - 만부 - ...)
2. JAVA의 정석 - 기초편
Chapter 1 ~ Chapter 2 중간
생활코딩을 통해서 JAVA에 대해 조금 익혔기 때문에 어렵지 않았다. 다만 변수의 종류가 생각보다 되게 많다는 점에 조금 놀랐다. 다 외워볼까 생각했는데 머리가 조금 아파서 다른 날에 각 잡고 외워야겠다. bit 개념이 나오는데 내가 알기로 bit는 0,1 중 하나인 것으로 안다. 논리학적으로는 참 혹은 거짓. 궁금한 것은 boolean 타입이 1 bit가 아니라 1 byte라고 돼 있는 부분이었다. boolean은 참 혹은 거짓이기 때문에 1 bit가 아닐까? 이 부분은 잘 모르겠다. 아직 모르는 어떤 부분이 있겠지.
JAVA가 점점 재미있어 진다. 처음에는 좀 (많이) 어려워서 무서웠는데, 구조가 조금씩 보이니 잘 만든 언어인 것 같고 흥미롭다.
아래는 실습한 내용
1.
public class WhyMethod {
//공급가
public static double valueOfSupply = 875000.0;
//부가가치세율
public static double vatRate = 0.1;
//이익 비율
public static double incomeRate = 0.7;
//비용 비율
public static double expenseRate = 0.3;
//소비자가격
public static double getTotal() {
return valueOfSupply + getVAT();
}
//부가세
public static double getVAT() {
return valueOfSupply * vatRate;
}
//비용
public static double expense() {
return valueOfSupply * expenseRate;
}
//이익
public static double income() {
return valueOfSupply * incomeRate;
}
//나의 배당금
public static double myDividend() {
return income() * 0.5;
}
public static void main(String[] args) {
System.out.println("소비자가격 : " + getTotal());
System.out.println("공급가 : " + valueOfSupply);
System.out.println("부가세 : " + getVAT());
System.out.println("비용 : " + expense());
System.out.println("이익 : " + income());
System.out.println("나의 배당금 : " + myDividend());
}
}
2.
public class Ex2_1 {
public static void main(String[] args) {
System.out.print("줄바꿈 가능?");
System.out.print(" Nop - print");
System.out.println("");
System.out.println("");
System.out.println("줄바꿈 가능?");
System.out.println("Yes - println");
}
}
3.
public class Ex2_4 {
public static void main(String[] args) {
//int integer 정수
int a = 1;
System.out.println(a);
a = 2;
System.out.println(a);
int ex_1 = 1+1;
//double 실수
double b = 3.141592;
System.out.println(b);
//상수 constant - 변수처럼 지정이 가능하나 이후 변경이 불가
final int c = 10;
System.out.println(c);
//리터럴 literal 일반적으로 사용하는 '상수'라는 단어를 자바에서는 리터럴이라 칭한다 (상수라는 개념이 이미 정의되었기 때문)
//ex. year 변수 2021 리터럴 thisYear 상수
int year = 2021;
final int thisYear = 2094;
//char charcter 문자 ('' 작은따옴표 사용) / 작은따옴표 안에는 반드시 하나의 문자가 필요함!
char d = 'h';
//String 문자열 ("" 큰따옴표 사용)
String e = "안녕!";
//tmp temporary 임시의 값을 저장하기 위한 변수
int x = 10, y = 5;
System.out.println("x = " + x); // 10
System.out.println("y = " + y); // 5
int tmp = x; //tmp = 5
x = y; // x = 10
y = tmp; // y = 5
System.out.println("x = " + x); // 5
System.out.println("y = " + y); // 10
// primitive type 기본형 변수 (boolean, char, byte, short, int, long, float, double) <- 계산을 위한 실제 값을 저장
// reference type 참조형 변수 (8개의 기본형을 제외한 나머지) <- 객체의 주소를 저장한다
}
}
'JAVA' 카테고리의 다른 글
JAVA 문법 : 다형성(Polymorphism) (0) | 2021.09.15 |
---|---|
JAVA 문법 : 클래스와 객체 (0) | 2021.09.15 |
2021. 08. 07 Java 연습 문제 풀기 & 모르는 문제 (4) | 2021.08.07 |
Java로 복리 계산기 만들기 (0) | 2021.08.06 |
2021. 08. 04. JAVA 객체지향과 리펙토링 실습 (0) | 2021.08.04 |