예시로


byte a = 3;

byte b = 4;

byte c = a + b;


이게 컴파일ㅇ ㅗ류가 뜸.


바이트간 연산은 인티저연산으로 대체가 되고, 따라서 덧셈결과가 인티저가 되어서 인티저는 바이트보다 크기가 크니까 자동형변환이 안되어서 생기는 문제임.


그래서 byte c = (byte) (a + b); 라고 써야돼.



근데 내 의문점은 이거임


byte c = 3 + 4; 라고 쓰면 컴파일오류가 안뜸. 왜그러지? 3 + 4도 인티저 아닌가??