inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

캐스팅 관련 질문

157

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

30

1

1번 문제 질문입니다.

0

35

1

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

0

28

1

9장 상속 문제와 풀이 질문

0

38

1

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

0

50

2

매서드 참조값 반환??

0

67

1

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

0

71

1

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

0

85

1

공부방법

0

77

2

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

0

82

1

static method 질문

0

67

1

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

0

98

1

Method1에서 Student 객체

0

74

1

3강 18. null 질문

0

69

1

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

0

77

1

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

0

97

1

문의

0

104

1

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

0

90

1

상속과 그에 따른 메모리 구조 질문

0

62

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

74

1

수강기한

0

136

1

기본편 객체지향 프로그래밍에 대한 정의

0

88

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

87

1

추가 지식 학습

0

153

2