class(설계도)
Object(실체화가 가능한 것) <-- abstract class XXX
Instance(실체화 된 것)
ex)
의자 s = new 의자();
// s는 heap에 존재
// 위 문장이 실행된 메소드에서 그 heap 공간 관리
Animal
run()
Dog 상속 Animal
@override // Animal에서 fly() 있는지 체크, 상속받을 것 없으면 컴파일에러
fly()
@Component // heap 공간에 A 객체 로딩(이후 다른 곳에서 @Autowired하면 이 객체 이용 가능)
Class A{
}
class B{
@Autowired
A a; // a는 heap 공간의 A 객체(@Component로 로딩된)
}
c.f. jackson은 스프링의 MessageConverter의 한 종류, java<->json 수행
```java
// 자바
class Animal{
int num = 10;
String name = "사자";
}
```
```
{
"num": 10,
"name": "사자"
}
```
8 bit = 1 byte : 통신 단위(영어 한 문자 단위)
- 영어 한 문자 당 8 bit로 (256가지 영어 문자 전송 가능)
- 한글 한 문자 당 16 bit로
- 한자 한 문자 당 3 byte로
-> 유니코드 : UTF-8 (3 Byte 단위 통신)
스프링은 Byte Stream (1byte 단위 전송) 이용
- InputStream : 바이트로 읽음
BufferedWriter, PrintWriter : 가변길이의 문자열 씀
@ResponseBody : BufferedWriter 됨
@RequestBody : BufferedReader 됨
출처 : 인프런 "스프링부트 개념정리(이론)" 1~3강
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC/dashboard