본문 바로가기

자바8

자바의 상속(인터페이스) 자바의 인터페이스 자바의 인터페이스는 interface 키워드를 사용하여 클래스를 선언하듯이 선언한다. - PhoneInterface 인터페이스를 선언하는 예 interface PhoneInterface { //인터페이스 선언 public static final int TIMEOUT = 1000; //상수 필드. public static final 생략 가능 public abstract void sendCall(); //추상 메소드. public abstract 생략 가능 public abstract void receiveCall(); //추상 메소드. public abstract 생략 가능 public default void printLogo() { //default 메소드. public 생략 가능 S.. 2022. 3. 7.
자바의 상속(캐스팅, 오버라이딩, 추상 클래스) 업캐스팅 서브 클래스의 객체에 대한 레퍼런스를 슈퍼 클래스 타입으로 변환하는 것 슈퍼 클래스의 레퍼런스로 서브 클래스의 객체를 가리킨다. Person p; Student s = new Student(); p = s; //업캐스팅 이때, 슈퍼 클래스 타입의 레퍼런스 p가 서브 클래스 객체(s)를 가리키도록 치환된다. p는 Person 타입이기 때문에 Person 클래스의 멤버만 접근 가능하다. 즉, 업캐스팅한 레퍼런스로는 슈퍼 클래스의 멤버만 접근할 수 있다. 업캐스팅은 명시접 타입 변환을 하지 않아도 된다. p = (Person)s; //(Person)을 생략해도 됨 다운캐스팅 업캐스팅과 반대로 캐스팅하는 것이다. Person 타입의 레퍼런스를 Student 타입의 레퍼런스로 변환해 보자. 해당 결과로 .. 2022. 3. 7.
[혼공단 7기] 혼자 공부하는 자바 6주차 ▷ 기본 미션: 입출력 스트림 요약 정리하여 포스팅하기 자바에서 데이터는 스트림(Stream)을 통해 입출력된다. 프로그램이 도착지이면 입력 스트림을, 프로그램이 출발지이면 데이터를 출력해야 하므로 출력 스트림을 사용한다. 💡 입출력 스트림의 종류 바이트 기반 스트림: 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용 문자 기반 스트림: 문자 데이터를 읽고 출력할 때 사용 구분 바이트 기반 스트림 문자 기반 스트림 입력 스트림 출력 스트림 입력 스트림 출력 스트림 최상위 클래스 InputStream OutputStream Reader Writer 하위 클래스 (예) XXXInputStream (FileInputStream) XXXOutputStream (FileOutputStream) XXX.. 2022. 2. 28.
[혼공단 7기] 혼자 공부하는 자바 5주차 ▷ 기본 미션: 직접 정리한 키워드 공유하기 컬렉션 프레임워크(Collection Framework) 컬렉션(객체의 저장) + 프레임워크(사용 방법을 정해놓은 라이브러리) 사용 방법을 정의한 인터페이스와 실제 객체를 저장하는 다양한 컬랙션 클래스(구현 클래스)를 제공. 주요 인터페이스: List, Set, Map List 컬렉션 List 컬렉션은 배열과 비슷하게 객체를 인덱스로 관리한다. 저장 용량이 자동으로 증가하고, 객체를 저장할 때 자동 인덱스가 부여된다는 점이 배열과 다르다. 추가, 검색, 삭제를 위한 메소드들이 제공되며, 객체 자체를 저장하는 것이 아닌 객체의 번지를 참조한다. 동일한 객체를 중복 저장할 때는 동일한 번지가 참조된다. null도 저장이 가능하지만 이때 해당 인덱스는 객체를 참조하.. 2022. 2. 20.