inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

캐스팅 관련 질문

164

ghuhan18

작성한 질문수 121

0

암묵적 캐스팅 관련 질문이 있습니다.

 

int x = 10 ;

x /= 2.5 ;

는 왜 오류를 일으키지 않나요?

 

사실 int x = 10 / 2.5 ; 랑 다를바가 없어보이는데, 전자는 오류가 발생 안하고 후자는 type 오류가 발생하는 것 같아서요

java 객체지향

답변 1

1

OMG

안녕하세요. ghuhan18님, 공식 서포터즈 OMG입니다.

자바에서 두번째 케이스와 같이 다른 타입의 primitive 데이터를 직접 할당하는 것은 불가능 하지만,

첫번째 케이스의 경우 내부적으로 형변환이 되어 문제가 발생하지 않습니다.

감사합니다.

0

ghuhan18

+= *= /=
이러한 연산자들은 내부적인 형변환을 해주나요?

그냥 이건 이해를 하기 보다는 외우면 되는거죠??

 

int x = 0 ;

x+=2.5 ;

이것도 자바에서 실행해보니까 되는 것 같긴 하더라구요

0

OMG

+= *= /=
이러한 연산자들은 내부적인 형변환을 해주나요?

네 맞습니다 :)

그냥 이건 이해를 하기 보다는 외우면 되는거죠??

이해, 암기를 떠나 경험을 바탕으로 습득하면 되는 개념 같습니다 ^^

1

OMG

강의 내용을 조금은 벗어난 듯 하지만 내부에서 돌아가는 것도 보시면 좋을 것 같아 간략히 설명드리겠습니다.(이해가 되지 않더라도 크게 신경쓰지 않으셔도 됩니다 😀)


 

image

다음과 같은 코드를 기계가 이해하기 위한 언어(바이트코드)로 변환된 코드를 확인하는 방법을 보여드리면,인텔리제이에서 shift를 두번 빠르게 눌러서 byteCode를 검색하여 위에 표기된 Show Bytecode를 선택하여 바이트 코드를 볼 수 있습니다.

image여기서 I2D가 형변환하는 명령어입니다.

 

참고)

https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.10.1.9.i2d

 

image

진짜화면이랑달라서못해먹겟어요먹겟어요

0

18

1

강의 화면이 안나와요

0

72

1

문제2번

0

64

1

static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?

0

73

1

47번 리턴 관련 질문

0

62

1

문제2번

0

149

2

질문있습니다

0

84

1

1번 문제 질문입니다.

0

73

1

음악플레이어 문제 중 코드질문

0

68

1

9장 상속 문제와 풀이 질문

0

80

1

강의 자료에 사소한 오타가 있습니다.

0

96

2

매서드 참조값 반환??

0

111

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

113

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

120

1

공부방법

0

142

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

119

1

static method 질문

0

97

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

126

1

Method1에서 Student 객체

0

107

1

3강 18. null 질문

0

98

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

110

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

137

1

문의

0

135

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

122

1