2024. 8. 13. 16:58ㆍ■ JAVA REVIEW & PRACTICE/LECTURE3 - BASIC
JVM = 프로그램이 동작하는 곳 = run time 환경
메모리 = RAM = 비싸다 = 비싸므로 빠르다
우리가 뭔가 사용하고 있다는 것은 메모리에 올라갔다는 증거
자바에서 데이터 타입의 색이 다른 이유 : 기본형과 참조형에 따라 다름
Reference Type = 클래스 = 변수의 타입이 대문자
a++ : for문이나 알고리즘 풀 때만 씀
삼항연사자도 쓸 일은 거의 없음 -> 보통 if문 많이 씀
컬렉션에서는 두가지만 사용 (Set 도 사용하지만 나중에)
스프링에서 배열 안쓰고 무조건 List만씀, 유지보수하기 안좋기 때문 (배열이 쓰는 곳은 딱 한군데인데 나중에 배울 예정)
1. List<String> list = new ArrayList<>();
2. Map<key, value> map = new HashMap<>();
-> Dictionary 라고도 불림 ex) 사과는 빨갛다 / key 값이 내부적으로 메모리에 위치가 저장되어 있음
이 HashMap은 시간 복잡도가 0(1)
시간복잡도 : 얼마나 빠르냐
0(n)
0(n^2) -> 2번 중첩
스프링에서 while 문 잘 안쓰고 보통 향상된 for 문을 씀 (단축키 외워서 써보기)
intelliJ에서 노란줄 누르면 다른 표현들도 나오니 써보기
List.for -> 쓰면 향상된 for문 단축키
정리
1. 무언가 사용한다 = 메모리에 올라갔다
2. 변수의 타입이 대문자 = reference type = 클래스
3. 스프링 개바할 때 배열 쓰지 않는다
4. 대신에 list와 hash map 쓴다
List<String> list = new ArrayList<>();
Map<key, value> map = new HashMap<>();
자바 언어 = oop = object oriented
존재하지 않았다는 뜻 = 메모리에 올라가지 않았다는 뜻
소문자로 시작한거에만 쩜붙여서 써
-> 본인이 직접 만든 클래스에 .을 붙여서 코드를 작성하지 마 = 대문자 있는 애한테는 쩜 쓰지마
메인클래스는 클래스로 객체를 생성하지않아도 바로. 메모리에 올려버리는 oop에 위배되는 반동분자녀석
-> 생각해보니 new 만들어준적 없는데 왜 ????? 그건 스태틱때문임.
얘가 무너트리고 있는 나쁜놈이야 스태틱 사용하지마!!!!!!!!!!!!!!!!!!
우리는 스태틱을 사용하지 않습니다!!!!!!!!!!!!!!!!!!!
정리
1. 클래스는 설계도이기 때문에 아무것도 못함. 반드시 클래스를 통해서 객체(Object 물체같은거, 실제로 존재하는 것)를 생성해서 메모리에 올려야해. 대문자에 쩜 찍어서 뭐하지마! (하지만 static에는 . 쩜사용 가능..;; 무조건 메모리에 올리니까)
2. static 쓰지 않는다!