The package * collides with a type 오류 해결
·
프로그래밍 언어/Java
사내 솔루션을 건드려보며 학습하던 중 아래와 같은 오류를 만나게 되었다. 오류의 원인해당 오류는 패키지명과 클래스명이 충돌할 때 발생한다고 한다. 그렇다면 왜 패키지명과 클래스명이 같면 안 될까?그 이유는 Java에서 동일한 이름을 가진 패키지와 클래스가 있을 때 컴파일러가 혼동을 일으키기 때문이다. 깊은 이해를 위해 필자의 상황으로 예시를 들어보자. package com.my.example.test;public class Example { // 클래스 내용} 필자는 `com.my.example` 패키지에 새롭게 `test`라는 패키지를 생성하였다.그런데 생성 후 패키지 내에 파일을 만드니 위처럼 컴파일 오류가 발생한 것이다. package com.my.example;public class Test..
toString()과 String.valueOf(), (String) 캐스팅 차이점
·
프로그래밍 언어/Java
그동안 String 형변환을 할 때에 toString() 메소드만을 사용해 왔는데, 사내 코드에서 String.valueOf()를 사용하고 있는 것을 보았다. toString()과 String.valueOf(), 그리고 (String) 캐스팅은 모두 자바에서 문자열이 아닌 값을 문자열로 변환하는 점에서 비슷해보이지만, 사용 목적과 결과가 조금씩 다르다. 이를 하나씩 자세히 살펴보자. toString()toString() 메소드는 Object 클래스에서 기본적으로 제공하는 메소드이다. 이 말은 즉, 모든 Java 객체가 상속받는다는 것이다.이러한 특징은 각 클래스가 오버라이딩 할 수 있다는 얘기이기도 하다. 개발자는 toString() 을 오버라이드하여 자신만의 문자열 표현을 정의할 수가 있다. 이 외에도..
유영웅
'프로그래밍 언어/Java' 카테고리의 글 목록