[오라클자바커뮤니티 오프라인교육센터,기초실무JAVA,자바주말학원교육추천,자바주말,주말AJVA학원,자바형변환,JAVA강좌]자바 묵시적/명시적인 형 변환(Java Casting), 자바의 형변환, 타입캐스팅
1. 자바 묵시적 형변환
자바에서는 데이터의 손실이 없이 안정적으로 형 변환이 가능한 경우에는 자동적으로 묵시적인 형 변환을 시도하나 데이터의 손실을 야기할 가능성이 있는 경우엔 자동적인 형 변환을 방지한다.
객체 관계에서는 하위 클래스는 상위클래스로 묵시적 형변호나 가능하다.(upcasting)
객체 관계에서는 하위 클래스는 상위클래스로 묵시적 형변호나 가능하다.(upcasting)
- 대입 형 변환 (Assignment conversion)
float x;
x = 1;
f(float f) { },,,,,, f(1);
float f() { return 1 }
- 산술 형 상승(Numeric promotion)
’a’ -> 97
3 + 2.1 -> 3.0 + 2.1 -> 5.1
2. 자바 명시적 형변환
- 형 변환 연산자 사용
큰 것을 작은 곳에 넣을 려면 명시적인 형 변환이 필요
(int)3.3 -> 3
(int)3.3 -> 3
int i; float f = 3.14f; i=f; -> Error
int i; float f = 3.14f; i=(int)f; -> Error는 아니지만 잘림
int i; float f = 3.14f; i=(int)f; -> Error는 아니지만 잘림
산술 자료형과 논리 자료형 및 참조 자료형 사이에는 현변환 불가능
산술 자료형과 논리 자료형 사이의 형 변환 효과
산술 자료형을 boolean형으로 -> i !=0
Boolean 자료형을 산술 자료형으로 변환 -> (x < y) ? 1 : 0
산술 자료형을 boolean형으로 -> i !=0
Boolean 자료형을 산술 자료형으로 변환 -> (x < y) ? 1 : 0
[예제]
class Test {
public static void main (String args[])
{
int i = 1;
long j = 2;
j = i; // 안전한 형변환
f(i); // 안전한 형변환
i = (int)j;
System.out.println("i=" + i);
//i = j; // 오류: 묵시적 형변환 불가능
g((int)j);
//g(j); // 오류: 묵시적 형변환 불가능
i = (int) j; // 명시적 형변환을 통해서 해결
g((int) j); // 명시적 형변환을 통해서 해결
}
static void f(long j)
{
System.out.println("f()에서 j=" + j);
}
static void g(int i)
{
System.out.println("g()에서 i=" + i);
}
{
int i = 1;
long j = 2;
j = i; // 안전한 형변환
f(i); // 안전한 형변환
i = (int)j;
System.out.println("i=" + i);
//i = j; // 오류: 묵시적 형변환 불가능
g((int)j);
//g(j); // 오류: 묵시적 형변환 불가능
i = (int) j; // 명시적 형변환을 통해서 해결
g((int) j); // 명시적 형변환을 통해서 해결
}
static void f(long j)
{
System.out.println("f()에서 j=" + j);
}
static void g(int i)
{
System.out.println("g()에서 i=" + i);
}
}
[결과]
f()에서 j=1
i=1
g()에서 i=1
g()에서 i=1
i=1
g()에서 i=1
g()에서 i=1
오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING[개강확정]
(6/30)[기업100%환급]안드로이드개발자과정[개강확정]
(6/30)[기업100%환급]SQL기초에서 Schema Object까지[개강확정]
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정[개강확정]
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정[개강확정]
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말(10:00~17:50) 개강
(6/28)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(6/28)안드로이드개발자과정
(6/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지[개강확정]
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)웹퍼블리싱 마스터
주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(6/30)[기업100%환급]PL/SQL,ORACLE HINT,TUNING[개강확정]
(6/30)[기업100%환급]안드로이드개발자과정[개강확정]
(6/30)[기업100%환급]SQL기초에서 Schema Object까지[개강확정]
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정[개강확정]
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정[개강확정]
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
주말(10:00~17:50) 개강
(6/28)Spring3.X, MyBatis, Hibernate실무과정[개강확정]
(6/28)안드로이드개발자과정
(6/29)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지[개강확정]
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)웹퍼블리싱 마스터
주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
댓글 없음:
댓글 쓰기