목록공부/JAVA (61)
컴퓨터는 잘못이 없다..
#핵심 요약 콘솔 입력 방식 4가지 System.in.read() InputStreamReader reader = ... BufferedReader br = .. Scanner sc = .. 콘솔 출력 방식 3가지 System.out.println() System.out.print() System.out.printf() 파일 입력 (파일로부터 내용을 입력받음) FileInputStream ... BufferedReader ... 파일 출력(파일로 내용을 출력) FileOutputStream ... FileWriter ... PrintWriter ... #소스코드 콘솔 입출력 예제 // Java 프로그래밍 - 입출력_1 import java.io.BufferedReader; import java.io.IO..
#핵심 요약 내부클래스 클래스 안에 선언한 클래스 내부 클래스 특징 내부 클래스에서 -> 외부 클래스 멤버에 접근 가능 (그 반대는 접근 불가) 내부 클래스 종류 인스턴스 클래스 (instance class) - 외부 클래스를 인스턴스화(객체생성) 해야 사용가능하다. 정적 클래스 (static class) - 메모리에 상주해있기 때문에 외부 클래스가 인스턴스화(객체생성) 하지 않아도 사용가능하다. 지역 클래스 (local class) - 메소드 안에 있는 클래스 익명 클래스 (anonymous class) - 추상클래스 객체 생성 시 사용한다. (추상클래스는 원래 객체 생성 불가) 익명클래스? 이름을 가지지 않는 클래스 선언과 동시에 객체 생성 일회용 클래스 #소스코드 외부클래스와 내부클래스 예제 // ..
#핵심요약 인터페이스 다중 상속처럼 사용할 수 있는 기능 추상 메소드 + 상수만으로 이루어져 있다. 상속과 인터페이스 동시 사용 class 클래스명 extends 클래스이름 implements 인터페이스 이름 ex. class Student extends Person implements School #소스코드 - 1 인터페이스 기본 예제 // Java 프로그래밍 - 인터페이스 // School 인터페이스 (상수+추상메소드) interface School { public static final int MAX_CLASS = 20; public static final int MAX_PERSON_PER_CLASS = 40; public abstract void printSchool(); //추상메소드 } // ..
#핵심 요약 추상 클래스 하나 이상의 추상 메소드를 포함하는 클래스 반드시 구현해야하는 부분에 대해 명시적으로 표현 추상 클래스 자체는 객체 생성 불가 (*단, 익명클래스를 통해서 객체 생성 가능) 추상 메소드 자식클래스에서 반드시 오버라이딩 해야하는 메소드 선언만 하고 구현 내용은 없다. #소스 코드 추상 클래스와 추상 메소드, 익명 클래스 예제 // Java 프로그래밍 - 추상 클래스 // 추상 클래스 Person abstract class Person { abstract void printInfo(); } // 추상 클래스 상속 class Student extends Person { public void printInfo() { System.out.println("Student.printInfo")..
#핵심 요약 다형성(Polymorphism) 한 객체가 여러 가지 타입을 가질 수 있는 것 부모클래스 타입의 참조 변수로 자식클래스 인스턴스를 생성 instanceof 연산자 실제 참조하고 있는 인스턴스의 타입을 확인할 수 있는 연산자 #소스코드 다형성과 instanceof 예제 // Java 프로그래밍 - 다형성 class Person { public void print() { System.out.println("Person.print"); } } class Student extends Person { public void print() { System.out.println("Student.print"); } //오버라이딩 된 함수 public void print2() { System.out.print..