Language

인터페이스범용정렬Object 클래스를 이용하여 정렬Interface를 통해 비교기능있는 객체만 받을수있게함public static void sort(Object[] array) {//특정한 행위를 할 수 있는 객체만 받을 수 있어야 함//비교할 때 사용할 함수가 필요함}public static void sort(Runnable[] array) {//compareTo 메소드를 정의한 Runnable만 받음}Template 활용가능public static T max(T a, T b) { return a.compareTo(b) >= 0? a: b;}//T가 Comparable을 구체화한 타입임을 보장해줌public static > T max(T a, T b) { return a.compareTo(..
열거형클래스 내부에 정의하면 자동 static 내부 클래스가 됨정수상수로 활용불가능함Enum 클래스를 상속받음switch문에서는 열거형 이름을 쓰지않음public enum DIR { LEFT , RIGHT }; //부모 Enum 클래스 임Enum 클래스Comparable 구현되있음compareTo 구현이 final로 되있어서 재정의 불가public enum DIR { LEFT , RIGHT };int leftOrdinal = DIR.LEFT.ordinal(); //0String leftName = DIR.LEFT.name(); //"LEFT"열거형에 맴버,메소드 추가생성자는 private로 만들어야함
문자열(String)연산으로 결합가능불변 객체임new를 보통 안사용함 (최적화문제)문자열풀을 이용함(해싱기반 맵 자료구조)new를 쓰면 새객체를 만들게됨(문자열풀을 사용안함)String f1 = "asda";String f2 = "asda";String f3 = new String("asda");//f1=f2이다(같은 문자열 풀임)//f1 != f3 이다.(f3는 문자열풀에 없는 새 객체임)String f4= f1+f2; //힙 영역에 새객체 생성String f5= f1+f3; //힙 영역에 새객체 생성문자열 변환String s = "" + 10;String s2 = Integer.valueOf(10).toString();int n1 = Integer.parseInt(s);//int 반환int n2 = ..
배열선언항상 동적생성을 통해 선언과 동시에 생성가능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개 생성한것..
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++과 달리 자바의 참조타입은 객체만가능(원시타..
아사_
'Language' 카테고리의 글 목록 (2 Page)