Memo/Java
-
형 변환 - 업 캐스팅 / 다운 캐스팅Memo/Java 2023. 12. 29. 23:34
나는 참조변수의 형 변환을 공부하면서 자손 클래스를 조상 클래스로 형 변환하거나, 조상 클래스를 자손 클래스로 강제 형 변환하는 이유가 궁금했다. 이후 검색을 하면서 업캐스팅과 다운캐스팅이라는 용어와 사용 목적 알 수 있었다. ✅ 업 캐스팅(Upcasting) 자손 → 조상으로 형 변환 하위 클래스에 상위 클래스의 자료형을 부여해 상위 클래스처럼 사용하게 하는 것 부모 클래스로 캐스팅된다는 것은 멤버의 개수 감소를 의미 → 자식 클래스에서만 있는 멤버는 실행하지 못한다는 의미 공통의 자료형 사용으로 관리 용이 및 가독성 향상 ✅ 다운 캐스팅(Downcasting) 조상 → 자손으로 형 변환 이미 업캐스팅한 객체를 되돌릴 때 사용 업캐스팅 되었던 객체의 자료형을 다시 하위 클래스 본래의 자료형으로 다시 되..
-
형 변환 시 toString과 String.valueOf 차이점Memo/Java 2023. 11. 23. 21:02
자바에서 자료형을 변환할 때 toString( ) 또는 String.valueOf( ) 메소드를 이용하게 된다. 나는 문득 두 메소드의 차이점이 궁금했다. toString( )과 String.valueOf( )는 주로 Object값을 String형으로 형변환할 때 주로 사용하는 메소드들이다. 두 메소드의 차이점은 null값에 따른 NullPointException 발생의 유무이다. toString( ) : null 값을 형 변환 시 NullPointerException(NPE)이 발생 / Object의 값이 String이 아니여도 출력 String.valueOf( ) : 파라미터로 null이 오면 "null"이라는 문자열을 출력 즉, toString( )은 null값을 형변환 하면 NPE가 발생하기 때문..
-
Primitive type(int) vs Reference type(Integer)Memo/Java 2023. 10. 2. 15:59
자료형 비교 과정에서 "Type may be primitive" 라는 Warning 문구를 보게되었다. ✅ Primitive type : 원시 타입, 원시(기본) 자료형 - 정수, 실수, 문자, 논리 리터럴 등의 실제 데이터 값을 저장하는 타입 - int, long, double, float, boolean, byte, short, char * 산술 연산 가능 * null로 초기화 불가 ✅ Reference type : 참조 타입, 참조 자료형 - 객체(Object)를 참조(주소를 저장) 하는 타입으로 메모리 번지 값을 통해 객체를 참조하는 타입 - Integer, Long, Double, Float, Boolean, Byte, Short, Char * Wrapper class 라고도 한다. * Unbo..
-
Python f-string과 유사한 "MessageFormat"Memo/Java 2023. 3. 16. 15:12
파이썬에서는 f-string을 정말 편리하게 사용해 왔었다. 하지만 아쉽게도 자바에서는 파이썬의 f-string과 동일한 기능을 하는 메소드는 없었다.. 그래도 그나마 파이썬의 format 함수와 유사한 "MessageFormat"이란 것을 알게되었다. String step1 = "one"; String step2 = "two"; String string = MessageFormat.format("Step {0} of {1}", step1, step2); 기존 String.Format( ) 메소드와 다르게 자료형을 별도로 지정해주지 않아도 된다. ps. 검색 결과 Map을 이용해 f-string을 비슷하게나마 사용할 수는 있었다. 그러나 굳이굳이 이렇게 까지해서 사용하지는 않을 것 같다..😹 From t..