Java에서 유형 캐스팅이란 무엇입니까 | 초심자로서 타입 캐스팅 이해하기
게시 됨: 2020-03-27프로그래밍은 일련의 작업을 수행하기 위해 컴퓨터에 주어진 특수 언어로 된 일련의 명령입니다. 많은 사람들이 전문적인 목적으로 언어를 사용하고 있지만 일부 개발자는 이를 데이터를 사용하고 기능, 솔루션 및 분석을 만드는 방법으로 봅니다. 그들은 결코 가능하다고 생각하지 않았습니다.
과학 학생들은 다양한 프로그래밍 언어가 있으며 Java에서 가장 두드러진 언어 중 하나라는 것을 잘 알고 있습니다. 컴퓨터 공학 학생은 이 언어에서 멀리 떨어져 있을 수 없습니다. 더 중요한 것은 전문가가 프로그래밍 언어를 독립적으로 공부할 수 있다는 것입니다.
흥미롭게도 Java는 개발자에게 도전하고 관심을 불러일으키는 여러 데이터 유형이 있는 프로그래밍 언어입니다. 그러나 데이터 유형에 대한 지식은 최종 목표에 따라 데이터를 사용하고 지침을 작성하는 데 중요합니다. 코딩 시 개발자는 코드 내에서 변수가 작동하는 방식을 알기 위해 데이터 유형을 변경해야 할 수 있습니다. 이러한 데이터 변수 테스트를 유형 캐스팅이라고 합니다.
간단히 말해서, 컴퓨터 프로그래머는 함수가 변수를 올바르게 처리할 수 있도록 한 데이터 유형을 다른 데이터 유형으로 변경합니다. 일반적인 예에는 부동 소수점 숫자를 정수로 변환하거나 정수를 문자열로 변환하는 것이 포함됩니다.
목차
자바에서 타입 캐스팅 이해하기
이제 typecasting의 메커니즘이 명확하므로 Java의 typecasting에 주의를 기울일 때입니다.
Typecasting 또는 유형 변환은 기본 데이터 유형의 값을 다른 기본 데이터 유형에 할당하는 프로세스입니다. 프로그래머는 다른 데이터 유형에 할당하는 데이터 유형의 호환성을 미리 확인해야 합니다. 두 데이터 유형 사이에 호환성이 있는 경우 유형 캐스팅이 자동으로 수행됩니다. 이러한 유형의 변환을 자동 유형 변환이라고 합니다. 반면에 두 데이터 유형 간에 호환성이 없는 경우 변환 또는 캐스팅이 명시적으로 발생합니다.

Java의 Typecasting은 클래스나 인터페이스를 다른 클래스나 인터페이스로 캐스팅하는 것이기도 합니다. Java는 객체 지향 프로그래밍 언어이므로 다형성과 상속을 모두 지원합니다. SubClass 객체가 SuperClass 참조 변수로 가리키는 경우가 있을 수 있습니다. 그러나 Java 컴파일러는 이것을 알지 못합니다. 따라서 SubClass에서 선언된 메서드를 호출하는 것은 쓸모가 없습니다. 이를 유용한 연습으로 만들려면 먼저 해당 SubClass 객체를 원래 존재했던 유형으로 캐스트해야 합니다. 이것은 Java에서 유형 캐스팅이 작동하는 방식의 좋은 예입니다.
읽기: 전체 스택 개발자의 미래 범위
따라야 하는 Java 규칙을 잘 알고 있는 것도 마찬가지로 중요하므로 유형 캐스팅을 아는 것만으로는 충분하지 않습니다. 그러한 규칙 중 하나는 단일 유형 계층에 속하는 인터페이스 또는 클래스가 서로 변환되거나 캐스트될 수 있다고 말합니다. 동일한 유형 계층 또는 부모-자식 관계가 없는 개체를 변환하면 화면에 컴파일 타임 오류가 표시됩니다.
동일한 유형 계층에 속하는 두 개의 개체를 선택할 때 개발자가 직면할 수 있는 또 다른 시나리오를 살펴보겠습니다. 그러나 캐스팅하는 객체의 유형과 캐스팅하는 객체의 유형이 동일하지 않으면 ClassCastException이 발생합니다.
가장 놀라운 것은 많은 개발자와 프로그래머가 typecasting의 중요성을 인식하지 못한다는 것입니다. Typecasting은 대상 클래스 또는 유형이 선언된 메소드 및 필드에 대한 액세스를 제공합니다. 이것들에 접근할 수 있는 다른 방법은 없습니다.

이제 Java에서 다른 유형 변환 또는 캐스팅을 살펴보겠습니다.
변환 또는 캐스팅에는 기본 형식 캐스팅과 참조 형식 캐스팅의 두 가지 유형이 있습니다.
Java의 캐스팅 유형
원시형 주조
개발자가 하나의 프리미티브 값을 다른 프리미티브로 캐스팅할 수 있습니다. 7가지 기본 데이터 유형 값은 Boolean, Byte, Char, Short, Int, Long, Float 및 Double입니다. 기본 유형 캐스팅에는 두 가지 하위 유형이 있습니다.
1. 확대 캐스팅 또는 암시적 변환:
확대 캐스팅은 정보 손실 없이 더 낮은 값을 가진 데이터 형식을 더 높은 값을 가진 데이터 형식으로 캐스팅(확대 데이터 형식)하는 것을 포함합니다. 다른 숫자 데이터 유형 간의 더 넓은 변환을 고려할 때 캐스팅의 정밀도에 큰 위험이 있습니다. 정보나 가치의 작은 비트가 손실될 수 있습니다.
읽어보기: 전체 스택 프로젝트 아이디어 및 주제
2. 축소 캐스팅 또는 명시적 변환:
확대 캐스팅의 반대입니다. 여기에는 값이 더 높은 데이터 유형을 값이 더 낮은 데이터 유형(좁은 데이터 유형)으로 캐스팅하는 작업이 포함됩니다. 주의 깊게 다루지 않으면 정보가 손실될 수 있습니다.
암시적 변환은 개발자가 입력을 제공할 필요가 없으며 자동으로 수행됩니다. 반면에 명시적 변환은 개발자 혼자 수행합니다.

참조형 캐스팅
두 가지 다른 유형의 클래스가 상속에 의해 서로 연관되고 해당 클래스 중 하나가 다른 클래스의 하위 클래스인 경우 이러한 클래스는 캐스팅될 수 있습니다. 캐스팅이 자바의 컴파일 타임 규칙뿐만 아니라 런타임 규칙과 일치하는지 확인하는 것이 중요합니다. 참조 유형 캐스팅은 두 가지 유형으로 더 나뉩니다.
1. 업캐스팅:
Upcasing은 SubType의 객체를 SuperType의 객체로 변환하는 것을 포함합니다. Java에는 명시적 캐스트를 추가하지 않고도 객체를 할당할 수 있는 조항이 있습니다. 컴파일러는 수행 중인 작업을 알고 SubType 값을 SuperType으로 캐스트합니다. 이런 식으로 개체는 기본 수준으로 가져옵니다. 개발자는 문제에 대해 걱정하지 않고 명시적 캐스트를 추가할 수 있습니다.
2. 다운캐스팅:
다운캐스팅에는 SuperType 개체를 Subtype 개체로 변환하는 작업이 포함됩니다. 기본 개체의 값이 자신의 값이 아니라 SuperType 개체의 값이라는 것을 컴파일러에 전달하는 가장 자주 사용되는 캐스팅입니다.
마무리
성공적인 개발자나 프로그래머가 되려면 Java typecasting을 배우는 것이 필요합니다. 목적은 기능을 정의한 다음 통신 내의 변수가 최종 기능에 따라 수행되는지 확인하는 것입니다. 다양한 유형의 캐스팅 방법론을 알고 숙달하면 프로그래머가 가장 복잡한 기능을 제공하는 데 큰 도움이 됩니다. 즉, 대기업과 브랜드가 최종 사용자 참여를 향상시키는 것은 기본입니다.
전체 스택 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT를 제공합니다. -B 동문 상태, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.