배열선언항상 동적생성을 통해 선언과 동시에 생성가능new를 사용하면 기본값 자동초기화자바에서 배열은 객체이다.int[] num=new int[10];int num[] =new int[10];var num = new int[10];// var을 쓰면 [] 사용안함배열의 용량public final int length가 정의되어있음(int형)Integer.MAX_VALUE가 최대 용량String에서는 .lengh() 메소드사용int[] num = new int[0]; //길이가 0인 배열, null과다름final 배열final로 배열을 선언한 경우 참조를 바꿀수는없지만 내부의 요소는 바꿀수있다.final int[] num = new int[2];num[1] = 2;객체배열다음은 Human 객체를 2개 생성한것..
Language/JAVA
1.빈패턴재사용 가능한 소프트웨어 컴포넌트를 만들기 위해 정해진 규약인 JavaBeans을 따르는 패턴 2.JavaBeans 규약2-1.기본 생성자매개변수가 없는 기본 생성자를 가져야 합니다. 객체 생성이 단순해지고 다양한 프레임워크에서 빈을 쉽게 생성할 수 있습니다. 2-2.프로퍼티 (Property)프로퍼티들은 private로 선언하고 getter, setter을 가집니다. 3.예시lombok으로 getter,setter을 만든 ItemDTO이다.@Getter@Setterpublic class ItemDTO { private Long id; private String imgurl; private String name; private String Desc..

1.예외(exception)정상적인 경우에는 일어나지 않지만 발생할 수 있는 문제이다오류가 아니라 프로그램 실행 중 발생할 수 있는 예상 가능한 문제로, 특정 상황에서 발생하며, 일반적으로 사용자가 처리할 수 있는 문제이다.예외는 try-catch 블록을 사용하여 프로그래머가 직접 처리할 수 있습니다. 2.오류 (Error)프로그램의 실행 중 발생하는 심각한 문제로, 일반적으로 시스템의 상태나 환경 문제와 관련됩니다. 이러한 오류는 프로그램이 정상적으로 작동할 수 없게 만듭니다.일반적으로 이러한 오류는 프로그래밍적으로 처리할 수 없으며, 사용자에게 보고되거나 프로그램이 종료됩니다. 3. throw예외가 발생하면 throw문을 통하여 예외 객체를 생성할수있다. ,를 통해 여러 예외 던질수있음 3-..

1.Subclassing (is-a관계)클래스를 확장하여 새로운 클래스를 만든다.상속을 통해 구현한다.class Animal { // 상위 클래스 void eat() { System.out.println("Eating"); }}class Dog extends Animal { // 서브클래스 void bark() { System.out.println("Barking"); }} 2.Subtyping(can be used as)서로 다른 타입 간의 관계를 나타낸다.인터페이스 및 구현 클래스를 통해 구현한다.class Animal { // 상위 타입 void makeSound() { System.out.println("Animal sound");..

1.객체생성1-1.new객체를 생성할때 사용하는 연산자를 사용하여 생성자로 생성한다.new 연산자를 이용하여 생성한 객체가 위치하는 메모리 공간을 쓰레기 수집가능 힙이라고한다.Person person = new Person("Alice"); 1-2.String?String의 경우 예외적으로 new연산자 없이 객체를 생성한다. (new로 할수도있음)Java는 메모리 효율성을 위해 문자열을 String Pool이라는 힙 내의 고정된 메모리 영역에 저장한다다. 이 풀에서는 동일한 내용의 문자열을 재사용합니다.String greeting = "Hello, World!"; 2.객체 참조변수생성한 객체를 유지하는변수임 (여러개가 하나의 객체를 참조하게할수도있다.)C++과 달리 자바의 참조타입은 객체만가능(원시타..

1.소스파일 구조1-1.package가장먼저 작성해야하고 한개밖에 작성할수없음 1-2.importpackage문이 없으면 가장먼저 작성, 없으면 package다음에 작성, 여러개작성가능(순서신경안씀)다음은 java.util 패키지에서 Scanner 클래스를 import 해온다는뜻이다.import java.util.Scanner; 1-3.클래스,인터페이스,열거형파일이름의 public 하나만 정의가능그외에는 여러개 한파일에 정의가능(순서 신경안씀)// package 문: 패키지가 있다면 가장 먼저 위치package com.example.demo;// import 문: 클래스에서 사용할 외부 패키지들을 불러오는 역할, 여러 개 가능 (순서 상관없음)import java.util.Scanner;import j..

1.제네릭(Generic) 클래스, 인터페이스, 메서드를 다양한 타입으로 재사용할 수 있도록 해주는 기능코드에서 타입을 미리 지정하지 않고, 실행 시점에 원하는 타입으로 지정할 수 있다.// T는 타입 파라미터 (Type Parameter)public class Box { private T value; public void setValue(T value) { this.value = value; } public T getValue() { return value; }} 외부에서 타입을 지정하여 사용할수있다.Box intBox = new Box();intBox.setValue(123); 2.레퍼 클래스제네릭은 참조 타입만 사용할 수 있으며, 기본 타입..

1.String 문자열을 나타내는 자료형, 원시 자료형이 아니라 클래스이다. => new로 생성가능String a = "Happy Java"; //이게 더좋음String a = new String("Happy Java"); 2.String 메소드2-1.charAt( ) 특정 위치의 문자를 리턴 매개값으로 주어진 인덱스의 문자를 리턴s1.charAt(1); 2-2.equals() 문자열비교문자열 객체 내부의 문자열 내용을 비교함 (객체 비교아님)s1.equals("hello World"); 2-3.indexOf() 문자열찾기String에서 해당 문자열을 찾고 index를 리턴해준다.s1.indexOf("Wor"); 2-4.contains 포함여부확인String에서 해당문자열이 포함되어있..