본문 바로가기

TIL71

2024.04.24 45일차 JAVA 내부클래스, 익명클래스, 람다식 및 활용 내부클래스 (중첩 클래스) Main 클래스 안에서만 사용하고 // 외부에서는 안 쓸 것 같을 때 내부 클래스 사용 원래 클래스에는 static 못 붙이는데 내부클래스에는 static 붙임public static class A 면 다른 외부 클래스에서 사용 가능하므로 주의 // 내부 클래스 (중첩 클래스) // 뺄셈 계산기가 필요한데 Main 클래스 안에서만 사용하고 // 외부에서는 안 쓸 것 같을 때 내부 클래스 사용 // 원래 클래스에는 static 못 붙이는데 내부클래스에는 static 붙임 private static class SubCalculator implements Calculator{ @Override public .. 2024. 4. 24.
2024.04.24 45일차 JAVA 파일 입출력 IO Stream 스트림 스트림은 데이터의 흐름(흐르는 통로)데이터가 들어오면 입력 스트림데이터가 나가면 출력 스트림스트림 클래스: byte기반, 문자 기반바이트 기반 스트림 – 그림, 문자 등 모든 종류의 데이터를 보내거나 받을 수 있음문자 기반 스트림- 오직 문자만 보내고 받을 수 있게 특화 Byte 기반 OutputStream 클래스OutputStream은 바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스FileOutputStream, ObjectOutputStream, PipedOutputStreamwrite(byte b): 출력 스트림으로 1바이트를 내보냄.write(byte[] b): 출력 스트림으로 주어진 바이트 배열 b의 모든 바이트들을 내보냄... 2024. 4. 24.
2024.04.22 43일차 JAVA 추상클래스, 인터페이스, 예외처리 추상화 Abstract 자바에서의 추상은 아직 불완전한 클래스와 메서드 추상클래스와 추상 메서드 public abstract class A { int a; public abstract void add(); } 추상 클래스 Abstract Class 추상 메서드가 하나 이상 포함되어 있는 클래스 미완성 된 메서드를 포함하고 있기 때문에 스스로의 객체를 생성할 수 없음 반드시 추상 클래스를 상속받아 추상 메서드를 구현한 자식 클래스를 통해서 생성해서 사용해야 함 추상클래스 상속받은 자식 클래스는 추상메서드를 반드시 오버라이딩 해야 함 추상 클래스에는 추상메서드만 선언할 수 있는 게 아닙니다. 일반 메서드도 얼마든지 선언이 가능하고 필드도 얼마든지 선언할 수 있습니다. 상속이 기본 베이스 추상 메서드 Abst.. 2024. 4. 22.
2024.04.19 42일차 JAVA 다형성 다형성 Polymorphism 다형성이란 "객체가 여러 형태를 가진다" = 하나의 객체가 여러가지 타입으로 사용되는 것 다형성은 상속을 전제 조건으로 함 다형성을 위해 자바는 자식 클래스가 부모 클래스의 타입을 가질 수 있도록 허용 부모 타입에 모든 자식 객체가 대입 될 수 있음 ** 객체지향 프로그래밍에서는 객체에 의존하지 않고 역할에 의존해야 함 (의존 = 종속) 다형성을 사용하는 이유 이종모음구조를 하나의 배열로 만들 수 있음 → 코드의 반복을 줄일 수 있음 오버라이딩된 메서드가 작동 // Sonata sonata1 = new Sonata(); Car sonata1 = new Sonata(); // Tucson tucson1 = new Tucson(); Car tucson1 = new Tucson(.. 2024. 4. 19.