컬렉션 F/W COLLECTION
·
Programing/JAVA
데이터 그룹을 다루고 표현하기 위한 단일화된 아키텍처 여러 데이터들을 표준화된 방식으로 처리하는 기능 제공 효율적으로 데이터(객체) 저장, 처리를 위해 추가, 삭제, 검색을 위한 다양한 클래스와 인터페이스의 모임 인터페이스를 통해 객체 처리방식을 정형화 한것 Collection 인터페이스와 Map 인터페이스로 구분 Collection 인터페이스 List 인터페이스와 Set 인터페이스로 구분 List 인터페이스 데이터 저장 순서 유지(배열과 비슷) 중복저장 가능 주요 구현 클래스 : ArrayList(읽기 많은 경우), Vector(과거버전), LinkedList(추가,삭제 많은 경우) 추가 add(Object), 가져오기 get(index) package chapter13; import java.util..
JAVA- API
·
Programing/JAVA
자바 JDK 설치시 제공하는 API java.lang 패키지 import 없이 사용, 컴파일시 자동 추가됨 Object class 모든 클래스의 최상위 클래스 상속 받지 않은 클래스는 모두 Object 클래스를 상속 받음 기본적으로 11개의 메서드를 가지고 있음 equals() 메서드 주소 체크 값 체크를 위해서는 재정의 해서 사용 package chapter12; public class EqualsEx { public static void main(String[] args) { Obj obj1 = new Obj(100); Obj obj2 = new Obj(100); if (obj1 == obj2) { System.out.println("obj1 객체와 obj2 객체는 같음"); } else { Syst..
예외처리 EXCEPTION
·
Programing/JAVA
오류 : 에러 Error와 예외 Exception 에러 : 프로그램 코드에서 해결 할 수 없는 심각한 오류( JVM 오류, 메모리 부족등) 예외 : 프로그램 코드에 의해 처리할 수 있는 오류 예외 클래스 Exception 이미지참조:https://ccm3.net/archives/20672 예외 처리 try~catch(Exception) / by zero 오류 발생 class ExceptionEx02 { public static void main(String args[]) { int number = 100; int result = 0; for(int i=0; i < 10; i++) { result = number / (int)(Math.random() * 10); // 7번째 라인 System.out.pr..
인터페이스 INTERFACE
·
Programing/JAVA
프로그램과 프로그램을 중간에서 연결해 줌 UI (User Interface) : 사용자와 프로그램과 연결(저장 버튼 클릭 -> 저장 실행) API (Application Programming Interface) : 작업 프로그램과 제공 프로그램 연결 규약 Web API : 웹을 통해 연결(지도, 주소 찾기, 위경도 찾기 등...) 자바에서 인터페이스 추상클래스가 미완의 클래스라면 인터페이스는 기본클래스 인터페이스는 클래스 설계용으로 많이 사용 상속은 수직 구조 설계, 인터페이스는 수평 구조 설계 클래스 설계를 인터페이스로 하면 설계된 메서드의 구현을 강제 할 수있음 오직 추상메서드와 상수만을 멤버로 가짐 class 키워드 대신 interface 사용 인터페이스에 있는 추상메서드를 다 구현하지 않으면 추상..
상속 INHERITANCE_Part3
·
Programing/JAVA
Object 객체 모든 클래스의 부모 클래스 모든 클래스 참조 가능 instanceof 참조변수가 참조하는 인스턴스 실체 타입 확인 true 라는 것은 형변환이 가능 package chapter08.poly; public class ObjectEx { public static void main(String[] args) { allObject(new GraphicCard()); allObject(new Amd()); allObject(new Nvidia()); allObject("안녕"); } public static void allObject(Object obj) { System.out.println(obj.toString()); if(obj instanceof GraphicCard) { GraphicC..
상속 INHERITANCE_Part2
·
Programing/JAVA
final final 변수 : 변수값 변경불가 - 상수 final 메서드 : 오버라이딩 불가 final 클래스 : 상속 불가 final 메서드 : 오버라이딩 불가 class MethodSuper{ final void superMethod(){ System.out.println("super method"); } } class MethodChild extends MethodSuper{ void superMethod(){ System.out.println("child method"); } } public class FinalMethod{ public static void main(String[] args) { // TODO Auto-generated method stub } } final 클래스 : 상속 불가..
상속 INHERITANCE_Part1
·
Programing/JAVA
클래스의 수직 구조 설계 extends 예약어 사용 부모 클래스를 자식 클래스가 상속받으면 부모 클래스의 변수와 메서드가 상속됨 부모 클래스의 변수와 메서드를 자신의 것처럼 사용 가능 부모클래스는 슈퍼(super), 상위, 베이스 클래스 라고도 부름 자식클래스는 서브, 하위, 파생 클래스 라고도 부름 부모클래스 package chapter08; public class Phone { String name; String color; String company; void call() { System.out.println("전화를 건다"); } void receive() { System.out.println("전화를 받다"); } } 자식클래스 package chapter08; public class Smart..
클래스 CLASS_Part4
·
Programing/JAVA
final 변경 불가 final 클래스 : 클래서 상속 불가 (상속 파트에서 확인) final 메소드 : 메소드 오버라이딩 불가 (상속 파트에서 확인) final 변수 : 상수, 생성자에 한번 초기화 가능 final 변수 package chapter07; public class FinalEx { public static void main(String[] args) { Final f = new Final(); //f.number = 200; // 에러 System.out.println("PI = " + Final.PI); System.out.println(f.number); } } class Final { final static double PI = 3.14; final int number; // 상수 F..
클래스 CLASS_Part3
·
Programing/JAVA
this 자신의 클래스 내부에 있는 필드, 생성자에 접근하기 위한 자가 자신의 instance this() 생성자 package chapter07; public class Car2 { // 필드 String color; String company; String type; Car2() { this("white", "기아", "경차"); } Car2(String color, String company, String type) { this.color = color; this.company = company; this.type = type; } Car2(String com, String t) { this("white", com, t); } Car2(String t) { this("white", "기아", t);..
클래스 CLASS_Part2
·
Programing/JAVA
(멤버)메서드 http://thedata.kr/thecoding/java/function 가변 인자 메소드(Variable Arguments) 인자 앞에 ..을 붙임, 배열처럼 처리 void printInfo(String ...infos){ System.out.println(infos[0]); } package chapter07; public class VariableArgument { /** * Variable Argument Test */ void printInfo(String ...infos){ if(infos.length != 0){ for(int i=0;i