카테고리 없음
자바의 정석 (chapter 01, 02)
DinggoP
2022. 4. 2. 23:16
(2022.03.27 ~ 2022.04.02)
Chapter 01.
자바의 장점
- 라이브러리가 많다.
- OS에 독립적이다. 즉, 리눅스 윈도우 맥OS에서 다 쓸 수 있다.(근데 C#하고 파이썬도 그렇다.)
- 모바일이나 대규모 기업환경에 적합하다.(어플리케이션 부터 시스템까지 개발 가능하다.)
- XML, JSON도 지원한다.
- 객체 지향 언어이다.
- 자동 메모리 관리(GC)가 된다.
- 네트워크와 분산처리(쓰레딩, 멀티코어 프로세스)를 지원 가비지 컬렉터
public void Function(){ int i = 0; }
자바의 단점
- JVM 위에서 돌아가기 때문에 한번 해석을 거쳐야 되서 느림
chapter 02.
변수(variable)
- 변수란 단 하나의 값을 저장할 수 있는 메모리 공간
- 변수타입에 알맞는 크기의 저장공간이 확보됨. (여기서 String은 가변임을 설명해야함.)
- 변수 초기화 : 변수를 사용하기 전에 처음으로 값을 저장하는 것. (like. int i = 0;)
- 기본형 : 실제 값을 저장
- boolean, char, byte (메모리를 가장 덜씀), short (메모리를 덜씀), int(cpu가 가장 효율적으로 처리), long, float, double(float과 double은 값이 튈 수 있음. 저장공간 한계 오차)
- 참조형 : 값이 저장된 주소 (초기화는 new를 쓰며 이걸 인스턴스화라고 부르고 이때 힙메모리에 저장된다.)
- string, class
- string은 참조형으로써 사용되며 java에서 기본형과 유사하게 사용되는 유일한 참조형.
<스터디장님 코드 참고>
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/*중요함
- 기본형 (primitive type)
=>stack에 쌓임
- 참조형 (Reference type)
=>heap memory에 쌓임 (주소 참조)*/
public class Main {
public void SettingMenuList(){
String message = "안녕";
String message2 = "안녕"; //위와 같은 것으로 인식
StringBuilder builder = new StringBuilder("안녕");//예전에는 많이 사용 했지만 거의 사용하지 않음
StringBuilder builder2 = new StringBuilder("안녕");
//0x001
Student john1 = new Student();
john1.name = "john";
john1.age = 13;
john1.gender = true;
builder.delete(0, builder.length() - 1);
builder.append("굿바이");
message = "굿바이";
//0x002
Student john2 = new Student();
john2.name = "john";
john2.age = 13;
john2.gender = true;
//0x001
Student john3 = john1;
int a = 3;
int b = 4;
boolean b1 = true;
boolean b2 = false;
if(message.equals(message2)){
//a와 b가 같으면 여기로 들어옴.
}else{
//a와 b가 같지 않으면 여기로 들어옴.
}
//0x001
// new를 인스턴스화 했다고 함.
// 인스턴스화하면 새로운 객체가 만들어 진 것이고, 힙 메모리에 저장됨.
//0x001 메모리에 저장되어있는 정보에서 name을 가져와라
String studentName = student.name;
//0x001 메모리에 저장되어있는 정보에서 age를 가져와라
int studentAge = student.age;
//0x001 메모리에 저장되어있는 정보에서 성별을 가져와라
boolean studentGender = student.gender;
}
}
chapter01,02 공부내용 설명하고 이해가 안된 부분 설명하고 코드로 학습함.
다음 주는 chapter03 연산자(operator), 04 조건문과 반복문(if,switch,for,while statement) 학습 예정.
내가 학습한 방법
- chapter01,02 Java의 정석 1회독, 유튜브 강의 3번 시청