JAVA/JAVA 개념정리

컬렉션 정의 데이터를 모아서 관리하고 다양한 연산을 수행할 수 있는 자료 구조를 제공하는 클래스들의 집합 컬렉션 특징 1. 컬렉션은 크기를 동적으로 조절할 수 있으며 데이터를 쉽게 추가하거나 삭제, 검색할 수 있다. 2. 제네릭 타입을 지원한다. 3. 다양한 종료의 컬렉션을 제공한다. 4. 일부 컬렉션 클래스는 스레드 안전성을 위해 동기화를 지원한다. 5. 대부분의 컬렉션은 null 값을 요소로 허용하므로 null 값을 추가하거나 삭제할 수 있다. 또한 컬렉션의 요소는 객체들만 가능한다. Vector v = new Vector(); // 컴파일 오류 Vector v = new Vector(); //정상코드 컬렉션 종류 Vector - 가변 크기의 배열을 구현 ArrayList -가변 크기의 배열을 구현 ..
String 클래스 String 클래스는 java.lang 패키지에 포함된 클래스이다. String str1 = "abcd"; //스트링 리터럴로 String 객체 생성 char data[]= {'a', 'b', 'c', 'd'}; String str2 = new String(data); 위 코드의 str2는 아래의 str3와 같은 값을 가진다. String str3 = new String("abcd"); 스트링 리터럴과 new String()으로 생성된 스트링 객체 비교 스트링 리터럴은 자바 내부에서 리터럴 테이블로 특별히 관리하여 동일한 리터럴을 공유시킨다. 하지만 new String() 으로 생성된 스트링은 new를 이용하여 생성되는 다른 객체와 동일하게 힙 메모리에 생성된다. String a = ..
Wrapper 클래스란? - 프로그램에 따라 기본 타입의 데이터를 객체로 취급해야하는 경우가 발생하는데 이러한 int, double, char 등 8개의 기본 타입을 객체로 다루기 위해 만들어진 클래스 기본 타입 byte short int long char float double boolean Wrapper클래스 Byte Short Integer Long Character Float Double Boolean 예전에 경우 Integer a = new Integer(100); new 연산자를 통해 객체를 생성했는데 이 경우 deprecated 즉 더 이상 사용되지 않는다고 한다. 따라서 다음과 같이 정적 메소드인 valueOf()를 호출하여 사용해야 한다. Integer a = Integer.valueOf..
업캐스팅이란? 정의 업캐스팅이란 서브 클래스의 객체에 대한 레퍼런스를 슈퍼 클래스 타입으로 변환하는 것 따라서 슈퍼 클래스의 레퍼런스로 서브 클래스의 객체를 가리키게 한다. 즉 서브클래스가 슈퍼클래스가 되는 것(묵시적 형 변환) 선언 Parent a; Son b = new Son(); a = (Parent)b; //여기서 (Parent)는 생략가능하다. 또는 Parent a = new Son(); 로 표현할 수 있다. 예제 class Parent{ String name; public void intro() { System.out.println("난 부모"); } } class Son extends Parent{ int son_age; int son_height; int son_weight; public ..
정의 this 는 현재 객체 자신에 대한 레퍼런스이다. 코드를 통해 알아보자면 public class Circle{ int radius; String name; public Circle() { radius = 1; name = ""; } public Circle(int r, String n) { this.radius = r; this.name = n; } } 다음 코드에서 this.radius = r; 부분과 this.name = n; 부분에서 사용된 것을 알 수 있는데 보통 이런 경우에는 radius = r; 과 name = n; 으로 사용해도 무방하다. 하지만 public Circle(int r, String n) 부분에서 매개변수(int r, String n)은 코드를 읽는 사람에게는 어떤 용도로 ..
정의 객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드이며 객체가 생성되는 순간에 자동으로 호출된다. 선언 먼저 생성자 선언에 앞서 클래스 이름과 멤버함수는 다음과 같다. public class Circle { int radius; String name; [생성자 선언 부분] } 다음은 [생성자 선언 부분] 에 들어갈 코드이다. public Circle(){ radius = 1; name = ""; } → 매개변수 없는 생성자 public Circle(int r, String n){ radius = r; name = n; } → 매개변수를 가진 생성자 위와 같은 내용을 토대로 보면 생성자 이름은 클래스 이름과 동일한 것을 알 수 있다. 생성자는 여러 개 작성할 수 있다. (매개변수가 없는 생성자와 ..
static 변수란 정적변수라고도 한다. (프로그램이 실행될 때 생성되며 프로그램이 종료될 때 사라진다.) →즉 객체가 사라져도 사라지지 않는다. non-static 멤버는 객체가 생길 때 객체마다 생기며 다른 객체들과 공유하지 않는다. 하지만 static 멤버는 객체를 생성하지 않고도 사용할 수 있으며 다른 객체들과 공유한다. static 선언 방법은 다음과 같다. class StaticSample { int n; //non-static 필드 void g() {...} //non-static 필드 static int m; //static 필드 static void f() {...} //static 필드 } 다음은 코드를 통해 직접 알아보는 과정이다. → 다음과 같이 StaticSample1 클래스의 객..
공부 기록장
'JAVA/JAVA 개념정리' 카테고리의 글 목록