목록Java (256)
코드 그라데이션
리스트의 주요 명령어 명령어 기능 Add(객체) 추가 (추가 => 끼워넣기!!) Add(index, 객체) index에 추가 addAll(index, Collection) index 지정위치에 Collection 추가 (리스트를 통으로 끼워넣는 것. 나머지 다 밀) get(index) index 위치의 객체를 주는 것 indexOf(객체) index 위치를 반환 lastIndexOf(객체) 그 객체의 가장 마지막 index를 반환 remove(index) index 위치의 객체를 삭제 set(index, 객체) index 위치의 객체 교체(위치를 바꿔치기!) size() 리스트의 길이 subList(from, to) from ~ to 까지의 객체를 List로 반환 리스트 예제 1 public class ..
자료구조 : 데이터를 특정 구조로 모아놓은 것 자바에서의 자료구조 - 리스트(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..
참조자료형 형변환 - 상속이 있어야 할 수 있습니다. - 부모는 자식을 모른다는 걸 명심해야 한다. 객체는 자식, 자료형은 부모 이렇게 이렇게 만든다. 예시 Class C { int a; } Class D extends C{ int b; } C c = new D(); // 업 캐스팅 D d = (D)c; // 다운 캐스팅 보는 방법은, 변수 자료형 타입(기준)으로 보면 된다. D로 만들고 C로 갔다. => 내가 볼 수 있는 건 C밖에 없다. 그 말은 C일 때 int b가 안 보인다는 것. 다시 D로 다운캐스팅 해주면? int b가 보인다. 즉, 부모 입장에서는 부모에 있는 것만 보이는 것이고, 자식은 부모 것도 다 가지고 있으니까, 전부 보인다. 왜 쓰는가? 이러한 관계가 있다고 가정했을 때, Class..