반응형

java 50

[Java] File 클래스, 대표 함수들 간단한 정리

[Java] File 클래스, 대표 함수들 간단한 정리 경로 구분자: \\ 또는 / cf. [return type] boolean isExist = file.exists(); 로 파일 존재하는지 확인 - ∵ 해당 파일 없어도 file 객체는 생성됨 isFile(), isDirectory() [boolean] createNewFile() & delete() [boolean] mkdir() [boolean] getName() [String] - 파일 이름을 리턴 - ex. file.getName(); getParentFile() [File] - 부모 디렉토리를 file 객체로 리턴 list(), list(FilenameFilter filter) [String[]] - 디렉터리에 포함된 파일/서브디렉터리 리스..

Java 2021.12.13

[Java] 자바의 예외 종류

Exception 1. IOException 2. ClassNotFoundException 3. ... 4. RuntimeException: 프로그래머 실수로 발생한 에러 1) ArithmeticException 2) ClassCastException: 형변환 에러 3) NullPointerException 4) ... 5) IndexOutOfBoundsException: 배열 범위 벗어나서 발생한 에러 NullPointerException이 발생하지 않게하려면? String str = null; str.length(); // Error String str = ""; str.legnth(); // OK Object[] objArr = null; // Error Object[] objArr = new Ob..

Java 2021.11.12

[Java] 지네릭스(Generics)에 대한 간단한 설명

지네릭스(Generics)란? 지네릭스란 컴파일시 타입을 체크해 주는 기능이다. (JDK 1.5 이상부터 가능) ArrayList coffeeList = new ArrayList(); coffeeList.add(new Coffee()); // 컴파일 성공 coffeeList.add(new Cake()); // 컴파일 에러 (JDK 1.5 이전에는 컴파일 성공됐음) 지네릭스 도입 이후(JDK 1.5 이후)부터는 ArrayList list = new ArrayList(); 라고 쓰기보다는 ArrayList list = new ArrayList(); 라고 쓰는 것이 더 좋다. 지네릭스를 사용하지 않아도 에러가 나는 것은 아니지만, 지네릭스 도입 이후 버전에서는 전자와 같이 쓰는 것은 좋은 코드가 아니다. (*..

Java 2021.11.11

[Java] 컬렉션 프레임워크 (Collections Framework)

[Java] 컬렉션 프레임워크 (Collections Framework) 컬렉션은 여러 객체(데이터)를 모아 놓은 것을, 프레임워크는 표준화·정형화된 체계적인 프로그래밍 방식을 의미한다. 참고로, 자바에는 Spring 프레임워크가 유명하다. 그렇다면 컬렉션 프레임워크는, 프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리이며, 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식이다. 이를 이용하면 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있다. 컬렉션 프레임워크에서는 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공하며, 이러한 클래스를 컬렉션 클래스라고 부른다. (컬렉션 클래스 ex. Vector, ArrayList, HashSet) java.u..

Java 2021.08.18

[Java] Object 클래스, String 클래스, Wrapper(래퍼) 클래스

[Java] Object 클래스(최상위 클래스), String 클래스 1. Object 클래스 (최상위 클래스) Object 클래스는 java의 모든 클래스의 최고 조상 클래스이다. java.lang 패키지 안에 있는 클래스이다. (java.lang.Object) eclipse 사용시 'Object'라고 적고 F1을 누르면 자세한 내용을 볼 수 있다. (Program Files\Java\jdk-(버전)\lib\src\java.base\java\lang\Object.java에 위치해있다.) 모든 클래스는 Object 클래스에서 상속을 받으며, 모든 클래스는 Object 클래스의 메서드를 사용할 수 있고, 모든 클래스는 Object 클래스의 일부 메서드를 재정의하여 사용할 수 있다. 이 Object 클래스에..

Java 2021.08.18

[Java, 객체지향] 템플릿 메서드란?

[Java, 객체지향] 템플릿 메서드란? '템플릿'은 말 그대로 틀이나 견본을 의미한다. 그렇다면 '템플릿 메서드'는 무엇일까? 템플릿 메서드는 추상 메서드나 구현된 메서드를 활용하여 전체의 흐름(시나리오)을 정의해 놓은 메서드를 의미한다. final로 선언하여 재정의할 수 없게 한다. '템플릿 메서드 패턴'은 사실 Java에서 쓰이는 말은 아니다. 디자인 패턴의 일종으로, 프레임 워크에서 많이 사용되는 설계 패턴이다. 추상 클래스로 선언된 상위 클래스에서 추상 메서드를 이용하여 전체 구현의 흐름을 정의하고, 메서드 구현의 구체적인 부분은 하위 클래스에 위임한다. 그렇지만 하위 클래스가 다른 구현을 했다고 해도 템플릿 메서드에 정의된 시나리오대로 수행된다.

Java 2021.08.17

[Java, 객체지향] 인터페이스란? (Interface)

[Java, 객체지향] 인터페이스란? (Interface) 인터페이스란? 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 알려주는 명세(specification) 또는 약속이다. '한 객체가 어떤 인터페이스의 타입이다'라는 것은, 그 인터페이스의 메서드를 구현했다는 의미이다. 클라이언트 프로그램은 실제 구현 내용을 모르더라도 인터페이스의 정의만 알면 그 객체를 사용할 수 있다. 쉽게 말하자면, 인터페이스는 추상 메서드의 집합이다. 즉, 구현된 것이 전혀 없는 껍데기와 같다. (jdk 1.8 이상을 제외하고선, 인터페이스의 모든 멤버는 public이다) interface 인터페이스명 { public static final 타입 상수명 = 값; public abstract 메서드명(); } 이때,..

Java 2021.08.17

[Java, 객체지향] 제어자란? (modifier) (접근 제어자 & static, final, abstract)

[Java, 객체지향] 제어자란? (modifier) (static, final, abstract) modifier란? Java에서 modifier(제어자, 제한자)란 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미를 부여하는 것이다. modifier에는 접근 제어자와 접근 제어자가 아닌 것이 있다. 1. 접근 제어자 : public, protected, 선언되지 않음(default), private 접근 제어자에 관련된 내용은 아래 링크 속 하단에 정리해두었다. https://unit-15.tistory.com/entry/Java-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%83%81%EC%86%8Dinherit..

Java 2021.08.12

[Java, 객체지향] 패키지란?

[Java, 객체지향] 패키지란? 패키지란? (Package) 패키지는 서로 관련된 클래스의 묶음을 의미한다. 클래스는 클래스 파일이고(*.class), 패키지는 폴더라고 할 수 있다. 클래스 패스란? (Classpath) 클래스 패스는 클래스 파일의 위치를 알려주는 경로이다. import문 생성 단축키 클래스를 사용할 때 원래는 패키지 이름을 다 입력해야 한다. 하지만 import문을 이용하면 이를 생략해도 된다. import문을 자동으로 삽입해주는 단축키는 'Crtl+Shift+O'이다. import문 선언 import 패키지.클래스; 또는 import 패키지.*; // 모든 클래스를 import Java를 사용하면서 많이 사용하는 메서드인 System.out.println(); 함수는 알고보면 Sy..

Java 2021.08.12

[Java, 객체지향] 지역 변수, 멤버 변수의 초기화

[Java, 객체지향] 지역 변수, 멤버 변수의 초기화 아래 링크 참고 https://unit-15.tistory.com/entry/Java-%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%EC%84%A0%EC%96%B8%EC%9C%84%EC%B9%98%EC%97%90-%EB%94%B0%EB%A5%B8-%EB%B3%80%EC%88%98-%EC%A2%85%EB%A5%98 지역변수는 사용전 꼭 수동 초기화 해야한다. 반면, 멤버 변수는 자동 초기화된다. 자동 초기화될 때의 기본값은 자료형마다 다르다. 숫자형의 기본값은 0, boolean의 기본값은 false, 참조형의 기본값은 null 멤버변수의 초기화에는 세 가지 방법이 있다. 1. 명시적 초기화 대입연산자 '='를 이용한 초기화 방법..

Java 2021.08.11
반응형