
자료구조 : 데이터를 특정 구조로 모아놓은 것 자바에서의 자료구조 - 리스트(List), 집합(Set), 맵(Map) 등. 자료구조 특징 관련 인터페이스 관련 클래스 List (배열과 비슷) - 순서가 있음 - 데이터의 중복 가능 Collection List ArrayList LinkedList Stack(FILO) Set - 순서가 없음 Collection Set HashSet TreeSet LinkedHashSet Map - 키와 값으로 구성 - 키는 중복 불가 - 값은 중복 가능 (Key 키 , Value 값) Map HashMap TreeMap 간단한 설명 1. ArrayList - 점점 뒤로 붙여간다. 배열과 특징이 많이 유사 2. Set - 순서 딱히 없이 중구난방으로 퍼져있음. - 연결 되어..

배열의 단점 -> 1. 같은 자료형만 담을 수 있음(이를 해소하는 게 클래스) 2. 개수가 제한됨 - 객체가 생성될 때 클래스 안에 있는 자료형이 선택이 됩니다 내가 B를 만들려는 순간에 자료형이 세팅이 되어 바뀐다는 뜻. 단, 참조자료형만 됩니다. 기본자료형 X 결론은 안에 클래스밖에 안 된다는 뜻! 제네릭 예제 class Box { T vol; void setVolume(T vol) { this.vol = vol; } T getVolume() { return vol; } } public class GenericTest { public static void main(String[] args) { Box ibox = new Box(); ibox.setVolume(200); //ibox.setVolume(..

퀴즈 속담 퀴즈 프로그램을 작성하시오. (파일명: Prac22.java) 조건 - 퀴즈 내용은 saying.txt 라는 이름의 파일로 제공. - 퀴즈는 문제와 정답이 각각 한줄로 구성 (퀴즈 3개인 경우 총 6줄). - 사용자로부터 값을 입력받아 정답 여부 확인. - 오답인 경우 정답 안내 . 퀴즈 내용이 더 이상 없을때까지 반복 퀴즈 파일 (saying.txt) 예시 실행결과 힌트 주석 내용 // 속담 퀴즈입니다. 빈 칸에 알맞은 말을 입력하시오. (주관식) // ------------------------------------------------ // (문제) 세 살 __ 여든까지 간다 // 정답 입력 => 버릇 // 정답입니다!!! // // (문제) 소 잃고 ___ 고친다 // 정답 입력 => ..
_01.Input (입력) package Prac22; import java.util.Scanner; public class _01_Input { public static void main(String[] args) { // 사용자 입력 Scanner sc = new Scanner(System.in); System.out.print("이름을 입력하세요 : "); String name = sc.next(); System.out.print("혈액형을 입력하세요 : "); String bloodType = sc.next(); System.out.print("키를 입력하세요 : "); int height = Integer.parseInt(sc.next()); // int height = sc.nextInt();..

final - 값을 변경할 수 없는 것. ex.) public [final] int max = 20; max = 30; (에러) 변수/ 메소드/ 클래스 에 사용가능하다 변수 final - 값을 변경 할 수 없다. 메소드 final - 오버라이딩 일때 사용 불가능 클래스 final - 상속 불가 사용 예시 final class T1 { } class T2 extends T1 { // T1 이 final이라 상속 불가능 } class T3 { final void abc() { } } class T4 extends T3 { //void abc() // final => 오버라이딩 불가능 } public class FinalTest { public static void main(String[] args) { //..
인터페이스 => 추상화의 끝판왕 interface 와 interface 끼리 상속이 가능하나, 반드시 class 가 재정의 해야한다. 약속을 표현하기 위한 특별한 형태의 클래스 인터페이스는 객체를 생성할 수 없음 생성자를 갖지 않는다 인터페이스의 메서드는 abstract 키워드를 붙이지 않더라도 기본이 추상메서드 Java 8에서 default method가 등장하여 인터페이스도 구현을 가진 메서드를 가질 수 있음 인터페이스의 메서드는 public 키워드를 붙이지 않더라도 기본이 public static 메서드를 가질 수 있음(Java 8~) 인스턴스 필드를 정의할 수 없음 인터페이스는 스펙인데 필드는 구현에 대한 세부내용이므로 필드를 가질 수 없다 형태 interface A{ 상수 추상메소드 void a..
추상화 일상에서의 사용 예시 말을 추상적으로 이야기한다. 현실적이지 않은 것을 현실적인 것 마냥 말한다. 즉, 실체는 없지만 뭔가 구상은 있는 것을 추상화라고 합니다. 추상화가 나온이유? => 메소드 오버라이딩 때문 메서드에서 사용하는 예시 void abc(){ System.out.println(“a”); } void abc(); ------------------------------------------------------------------------ "추상화 되어있는 메소드가 있다" 추상화 된 메소드를 가지고 있다는 것은 객체화를 할 수 없다는 말. 추상화 되어 있는 메서드를 가질 수 있는 것 1. abstract class 2. interface 특히 중요한 것. 추상화가 있으면 필수적으로 상..
참조자료형 형변환 예제 package mega.backend_onemore.Day24; class A{ int a; } class B extends A{ int b; } class C extends A{ int c; } class D extends A{ int d; } public class ClassCastingTest1 { public static void main(String[] args) { A a = new B(); //업캐스팅 B b = (B)a; // 다운캐스팅 B[] listB = new B[10]; C[] listC = new C[10]; D[] listD = new D[10]; // 이렇게 세 번 수고할 필요가 없이 // 아래처럼 한방에 만들고 집어넣으면 된다! A[] listA = n..