자바 문법 중요한 것 리마인드

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 쓰지 않는다!