반응형

Java 6

[Java]toString 메서드에 대한 이해

최근 자바의 정석이란 책을 공부하며 다음과 같은 코드를 만났다.import java.util.ArrayList; class Fruit { public String toString() {return "Fruit";} } class Apple extends Fruit { public String toString() {return "Apple";} } class Grape extends Fruit { public String toString() {return "Grape";} } class Toy { public String toString() {return "Toy";} } public class FruitBoxEx1 { public static void main(String[] args) { Box fru..

[Java]기본 클래스를 찾거나 로드할 수 없습니다 오류 해결

Java 공부를 하던 도중 Intellij 터미널에서 직접 자바 클래스파일을 실행했다. 그런데 다음과 같은 오류가 발생하는 것 아닌가. 오류 : 기본 클래스 ExpValidCheck을(를) 찾거나 로드할 수 없습니다.원인 : java.lang.NoClassDefFoundError: JavaPractice/ExpValidCheck (wrong name: ExpValidCheck)나의 디렉토리 구조와 path는 아래와 같았다.StringPractice // Project name +- src +- JavaPractice +- ExpValidCheck.java +- StringPractice.imi C:/Users/kim/IdeaProjects/StringPractice/out/production/String..

[자료구조]Array와 ArrayList 차이 in Java

Java에서의 Array와 ArrayList의 차이를 알아보자. 1. Resizable - Array : Array는 static하다(Data structure의 길이가 고정되어있다). Array를 만든 후 Array의 길이를 마음대로 변경할 수 없다. - ArrayList : ArrayList는 사이즈가 dynamic하다. 각각의 ArrayList Object는 ArrayList의 size를 나타내는 'capacity' 인스턴스 변수를 가지고 있다. ArrayList에 요소들이 더해지면 ArrayList의 capacity 또한 자동적으로 늘어난다. 2. Performance - Array와 ArrayList의 성능은 사용자의 Operation에 의존한다.(사용자가 어떻게 사용하느냐에 따라 달라진다) -..

Java(import(임포트))

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * import문 :소스코드를 작성할 때 다른 패키지의 클래스를 사용하려면 패키짐여이 포함된 클래스 이름을 사용해야 한다. 하지만, 매번 패키지명을 붙여서 작성하는 것은 비효율적이다. 클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다. import문의 역할은 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공하는 것이다. 컴파일 시에 컴파일러는 import문을 통해 소스파일에 사용된 클래스들의 패키지를 알아 낸 다음, 모든 클래스이름 앞에 패키지명을 붙여 준다. * import문의 선언 : 모든 소스파일(.java)..

Java(package(패키지))

*이 포스트는 남궁성님의 '자바의 정석'책을 참고하여 작성했습니다. * Package(패키지) : 패키지는 '클래스의 묶음'이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하는 것이 가능하므로. 자신만의 패키지 체계를 유지함으로써 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다. 지금까지는 단순히 클래스 이름으로만 클래스를 구분 했지만 클래스의 실제 이름은 패키지 명을 포함한 것이다. 예를 들면, String 클래스의 패키지명을 포함한 이름은 java.lang.String이다. 즉, java.lang 패키지에 ..

Java(왜 자바에서 static의 사용을 지양해야 하는가?)

자바에서 데이터를 가공하거나 특정 메서드를 수행할 때 새로운 클래스를 만들어서 이를 인스턴스화 해서 쓸건지 아니면 static 으로 쓸건지 고민하게 될 때가 있다. 사실 후자는 객체지향적 관점에서 그리 좋은 선택은 아니다. Vamsi Emani라는 프로그래머가 stack overflow에 남긴 질문 Why are static variables considered evil? 과 가장 많은 지지를 받은 두개의 답변을 번역했다.Q by V. EmaniI am a Java programmer who is new to the corporate world. Recently I’ve developed an application using Groovy and Java. All through the code I’ve u..

반응형