Code Archive 87

Step10. Wrapper class, Nested(inner) class

*Wrapper class 계열*기본형 데이터 타입을 참조형으로 변경하고자 할 때 사용ex) int -> Integer , boolean -> Boolean ......jdk1.4 이하에서 반드시 사용해야 한다. //1.4 이하에서는 컴파일 에러, 이유는 Object 는 참조형 데이터 타입이고 // 1 은 기본형 데이터 타입이므로.. Object o=1;//1.5 이상에서는 자동으로 Wrapper 객체로 변환 System.out.println(o.getClass());// Integer 객체 // 1.4 이하에서 코딩한다면 Object o1=new Integer(1); // int 에 대응되는 Integer 객체로 생성 int i=((Integer)o1).intValue();// Integer로 캐스팅하..

Code Archive/JAVA 2014.09.12

Step9. Set, List, Map, Generic, Iterator, 로또 출력 프로그램

**Generic(제네릭)**제네릭은 C++의 템플릿과 비슷한 역할을 하는 것으로 클래스들이 가지고 있는 속성의 데이터 타입을 보다 유연하게 사용하게 해준다.단 제네릭에 들어가는 데이터 타입은 레퍼런스 형만 지워한다. public class Test { // 나중에 클래스 생성시 이 T로 변수 타입 고정private T data; public Test(T data) {super();this.data = data;} public T getData() {return data;} public void setData(T data) {this.data = data;} @Overridepublic String toString() {return "Test [data=" + data + "]";}} public cla..

Code Archive/JAVA 2014.09.12

Step8. Polymorphism(다형성) interface 계층구조를 이용하여 구현

** interface **자바는 기본적으로 다중 상속을 금지하고 있다.그래서 다중 상속처럼 구현을 가능하게 해준는 것이 인터페이스로implement해서 사용한다.C++에선 클래스에서 가상 함수로 만들어서 강제 오버라이딩 하도록 하였다.하지만 자바에선 인터페이스라고 하여 따로 존재한다. public interface Player { public void play();// abstract 자동 삽입} 이런 형식으로 만들어 각 클래스에선 이렇게 적용한다.public class GomPlayer implements Player{ @Override public void play() { System.out.println("곰플레이어 동영상 재생하다"); } } public class Mp3Player implem..

Code Archive/JAVA 2014.09.12

Step7. Polymorphism(다형성) 클래스 계층구조를 이용하여 구현

**다형성(Polymorphism)**동일한 메세지에 대해 다양한 형식으로 수행되는 것즉 하나의 메서드로 여러가지 일이 수행되는 것이다.코드의 표준화를 위해 사용한다.다형성을 적용하기 위해서는 반드시 계층 구조 형성 되어야함예)재생버튼 - 곰플레이어 , CDPlayer 등같은 메세지에 대해 각자의 방식으로 다양하게 재생된다.--> 동일한 메서드명으로 오버라이딩 instanceof 객체 캐스팅---------------------------------------------------------------부모 타입의 변수로 자식 객체를 참조할 수 있다.이 경우(부모 타입의 참조 변수)에는 부모의 상속받은멤버와 오버라이딩한 메서드는 접근 가능.하지만 자식의 독자적인 멤버에는 접근 불가능--> 접근하기 위해서는..

Code Archive/JAVA 2014.09.12

Step6. 배열, Inheritance(상속)

- 배열 -같은 타입의 데이터를 하나의 객체로 관리하기 위해 사용1. primitive variable 타입의 배열 int a[]; // 선언 [] 위치 상관없음 int [] a; a=new int[3]; // 3개의 방을 가진 배열을 생성 // 인덱스는 0 부터 시작 System.out.println(a.length); // 3 출력 // 할당 ages[0]=10; ages[1]=20; ages[2]=30; System.out.println(a[1]);// 20 이 출력 2. Reference variable 타입의 배열 -> 배열 선언 MemberVO vo[]; -> 초기화 vo = new MemberVO[3];->할당 vo[0] = new MemberVO("철수",19); - 상속 -부모 클래스로 ..

Code Archive/JAVA 2014.09.12

Step5. 변수의 범위, Has a 관계

- 변수의 범위 -변수는 크게 3가지로 나누어 볼수 있다.1. local variable local variable은 생성자나 메서드 내에서 사용되는 임시 변수이다. 초기화가 필요하며, 주로 { }사이에서 생성과 소멸이 이루어진다. stack 영역에 저장되어 있다.2. instance variable 객체의 값이 저장되어 있고, 주로 class 멤버 변수이며 객체의 소멸 주기와 함께한다. heap 영역에 저장3. static variable 정적 변수로 클래스 로딩시에 적재 됨, non-static에서 객체 생성이 안되면 접근 불가 단 객체만 생성되있으면 어디서든 접근 가능 static area(class area) 에 독립적으로 적재된다. *접근 방법* 클래스명.static변수명 - Has a 관계 -..

Code Archive/JAVA 2014.09.12

Step3. class, Constructor(생성자), Data type

- Constructor(생성자) -class를 생성할 때 사용 되는 메서드class에서 명시하지 않아도 자동 삽입리턴 타입이 없는 메서드예>class Test{ //생성자의 예 1 Test(){} //생성자의 예 2 Test(int count){ } }- class -객체들의 공통적인 부분을 묶은 것데이터 및 메서드(기능)을 가지고 있다.예>class Test{ //멤버변수 private int k; private String p; //생성자 Test(){ } //메서드 public void print(){ System.out.println("Test"); } } - Data type -1. Primitive typeint, float, double, char, boolean, shot, long 등 ..

Code Archive/JAVA 2014.09.12

Step2. Encapsulation(캡슐화), 접근제어자(access modifier), method(메서드), package

** Encapsulation** - 정보 보호, 구현부와 인터페이스를 구분함으로써 유지보수성 및 사용자 편의성이 증대된다. 인터페이스는 공개하되, 구현부는 감춘다. 접근제어자(access modifier) public : 어디서나 접근 가능 protected : 같은 팩키지 내에서만 접근가능 (상속관계에서는 어디서나 접근가능) [default] : 같은 팩키지 내에서만 접근가능 private : 같은 클래스 내에서만 접근 가능 - 접근 제어 범위 -private > default > protected > public ** Method **Object의 행위(행동)를 정의하는 것 메서드 선언 법 [접근제어자] [리턴타입] [메서드명]([매개변수]){ 기능 구현} 은 옵션, 필요에 따라 씀예>publ..

Code Archive/JAVA 2014.09.12