본문 바로가기

Language

[JAVA] 자바 컬렉션 프레임워크(Collection Framework) 컬렉션 프레임워크(Collection Framework : 많은 데이터를 쉽고 효과적으로 관리 할 수 있는 표준화된 방법을 제공하는 클래스의 집합 1. List implements Collection : 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다. = Vector, ArrayList, LinkedList, Stack, Queue 등 2. Set implements Collection : 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않는다. = HashSet, TreeSet 등 3. Map : 키(Key)와 값(Value)의 한 쌍으로 이루어진 데이;터의 집합으로 순서가 없다. 키는 중복을 허용하지 않지만 값은 중복될 수 있다. ex) 우편번호, 지역번호(전화번호) = HashM.. 더보기
[JAVA] 자바 제네릭(Generic) 제네릭(Generic) : 제네릭의 사전적 용어를 찾아보면 ( 포괄적인, 총칭의 ) 라는 뜻을 가진 단어이다. java에서는 클래스에서 사용할 타입을 클래스 외부에서 설정하는 기법을 의미한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 public class GTest { private T data; public T getData() { return data; } public void setData(T data) { this.data = data; } } cs 위와 같은 방법으로 사용되며, T는 보통 Type을 뜻한다. E - Element K - Key N - Number T - type V - Value 1. Generic Class : 클래스 내부에서 사용될 자료형을 지정한다. 괄호안엔 .. 더보기
[JAVA] 자바 빠른 for문(향상된 for문, for each문) for each 문의 형식 : for(변수타입 변수이름 : 배열이름) 실행부분; ex) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 public class Arr { public static void main(String[] args) { // String [] arData = {"안녕", "반가워", "이름이", "뭐니?"}; // // for(String i : arData) { // System.out.println(i); // } int [][] arrScore = { {10, 20, 30},//1번 {11, 25, 39},//2번 {12, 26, 38},//3번 {13,.. 더보기
[JAVA] 자바 래퍼 클래스 (Wrapper Class) Wrapper 클래스 : 기본형 타입을 객체화 하도록 도와주는 클래스 (클래스타입 → Wrapper 클래스) 박싱(Boxing) : Wrapper 클래스 → 기본형 타입 : 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정 언박싱(Unboxing) : Wrapper 클래스 ← 기본형 타입 : 래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정 * JDK 1.5부터는 박싱과 언박싱이 필요한 상황에서 자바 컴파일러가 이를 자동으로 처리해 준다. 이렇게 자동화된 박싱과 언박싱을 오토 박싱과 오토 언박싱이라고 부른다. ex) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class Wrapper { public static void main(St.. 더보기
[JAVA] 자바 오브젝트 클래스 (Object Class) Object 클래스 : java.lang.Object 클래스는 자바 API의 모든 클래스와 사용자가 정의한 모든 클래스의 최상위 클래스이다. 즉, 모든 자바 클래스들은 Object 클래스로부터 상속받는다. 사용자가 클래스를 정의할 때 클래스 선언부에 명시적으로 extends 를 지정하지 않아도 자동으로 Object 클래스로 상속받게 된다. 다시 말해 Object 클래스의 모든 메서드와 변수는 다른 모든 클래스에서도 사용 가능할 수 있다는 말이다. equals(), == : 두 주소값이 같은지 확인하는 메서드 이다. 단, String 클래스에서 equals()를 재정의 하였기 때문에 String 타입이라면 값을 비교한다. 그렇기 때문에 보통 String 타입의 값을 비교할때에는 equals()를 사용한다... 더보기
[Java] 자바 내부 클래스(inner class) 자바 내부 클래스(inner class) : 클래스 내부에 클래스를 선언하여 외부 클래스의 필드 접근에 용이하기 위함. 내부 클래스의 필드를 사용하기 위해서는 외부 클래스에서 내부 클래스를 객체화 해야한다. : 내부 클래스는 GUI(Graphic User Interface) 개발시 많이 사용된다. 예를 들어 a라는 버튼과 b라는 버튼이 있다고 하자. 두 버튼의 기능이 서로 다르다면 클래스를 별도로 만드는 것 보다 내부 클래스로 만들어 사용하는 것이 적합하다. ※ 사용이유 : 캡슐화를 하기 위해서. 캡슐화 : A클래스에서 b라는 작업이 자주 쓰이고, 이 작업은 B 클래스를 만들어야 쉽게 관리할 수 있음. 하지만 다른 클래스에서 b작업이 필요 없거나, B클래스를 외부에 노출시키고 싶지 않을 때 사용한다. 더보기
[Java] 자바 다형성(Polymorphism) 다형성(Polymorphism) : 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질. - 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것 ex) 메소드의 다형성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 package Test; public class PolymorphismTset { public static void main(String[] args) { method(1); method("one"); } public static void method(int num) { System.out.println("숫자출력"); System.out.println(num); } public static void method(String s.. 더보기
[Java] 자바 업캐스팅(Upcasting), 다운캐스팅(Downcasting) 업캐스팅(Upcasting) [ 서브 클래스 객체가 슈퍼 클래스 타입으로 변환되는 것.]: 부모 클래스 타입으로 자식 생성자를 호출하는 것.- 부모와 자식간의 공통 요소(재정의 메소드)만 사용 가능하며, 자식 클래스의 추가된 것들은 사용할 수 없다.- 부모 타입으로 선언 되었기 때문에 부모의 필드만 사용 가능하지만, 자식 클래스에서 재정의 했다면, 재정의 된 메소드로 사용된다. ex)123456789101112131415161718192021222324 class Parents { public void Color() { System.out.print("빨간"); } public void name() { Color(); System.out.println("딸기"); } } class Rose extends.. 더보기