1) Dynamic Web Project --onlinePoll 생성 2) olinePoll --> WebContent --> File --> poll.txt 생성 3) 소스코드 원페이지에 구동되는 root가 컴퓨터에 위치한 실제 경로를 읽어옴 //실제 경로 읽어옴 String filename=application.getRealPath("/")+"poll.txt"; //투표내용이 저장된 텍스트 파일을 읽어와 ArrayList에 저장 (java 파일 이용) ArrayList poll=PollRead.PollRead(filename); --------------------------------------------------java파일 ※ java Resources ---> sc --> package -->..
※ Eclipse 설치 --> window -->preferences 선택 ※ General --> workspace --> other : UTF-8 변경 --> Apply ※ General --> Web --> CSS Files / HTML Files / JSP Files --> UTF-8 변경 ※ General --> Server --> Runtime Environments ※ Browse --> Tomcat 불러오기 ※ 프로잭트 생성 ※ Generate web.xml deployment descriptor 체크
# 익명 내부 클래스 1) 일반적인 형태 : 객체 = new 인스턴스(); 2) 익명 클래스 객체 = new 인스턴스(){ 해당인스턴스가 가지고있는 특정 메서드를 재정의해서 쓸수있다 } ; {} : 클래스의 바디 (1) 인스턴스가 없으면 만들 수 없다(숙주가 필요해) - 인스턴스에 기생해 있다 (2) 기존 클래스가 갖고 있는 메서드를 "재정의" 하기 위해서 익명클래스를 사용한다. #실습 package anonmousex; abstract class Car{ abstract void run(); } class Bus extends Car{ void run(){ System.out.println("경로를 따라 달린다"); } } class Taxi extends Car{ @Override void run()..
: inner 클래스 - 안드로이드 에서 주로 쓰임 1. instance 이너 클래스 2. local 이너 3. static 이너 4. (anonymous) 익명 이너 클래스 (1번과4번을 위주로 공부) #기본 구조 class Person{ Eye eye; } class Eye{} ------------------ class Person{ class Eye{ // 내부 클래스 } } 1. instance 이너 클래스 (1) instance 사용 package instanceex;class Outer{ //타입 변수 int num; // 인스턴스 변수 //인스턴스 내부 클래스 (instanceInner class)-->타입의 역할 수행 class Value{ int val1; int val2;..
(1) 객체 비교 a.equals(b) 같다(true) | 다르다(false) package equalsex; class Value{ int num; } public class EqualsTest { public static void main(String[] args) { Value val1 = new Value(10); Value val2 = new Value(10); package equalsex; class Value{ int num; Value(int n){ num=n; } } public class EqualsTest { public static void main(String[] args) { Value val1 = new Value(10); Value val2 = new Value(10); }..
패키지 - 클래스의 카테고리역할 프로젝트 - 외장하드 (여러 파일 ---- 여러개의 폴더로 분류 ) 패키지 -- 여러 클래스 java.lang 패키지의 특징 : import가 필요없는 클래스들의 모임 1. Object 1) 최상위 클래스 package objectex; class MyType /*extends object*/{ } public class ObjectTest { void a(){ System.out.println("안녕"); } int b(){ return 10; } int c(int a, int b){ return a+b; } public static void main(String[] args) { ObjectTest obj = new ObjectTest(); obj.a(); // 안녕출..
1. 다형성 부 모= 자식 ; ▷ 다형성 - 다양한 상태(모양) ▷ 하나의 이름에 대하여 여러가지 설정을 담고 있는 상태 "다양하다" ▷ 메서드가 상속을 하다보면 여러개의 기능으로 재정의 될 수 있다. ▷ 한 이름에 여러개의 재정의된 메서드를 사용하고 싶을 때 다형성이라는 문법을 적용하면 된다. --> 자식 재정의 메서드가 호출된다 ( 재정의를 해놓지 않았으면.. 그냥 부모가 호출하면 된다 ) #실습 package polyex; class Phone{ void call(){ System.out.println("전화를 걸다"); } } class Phone2G extends Phone{ void call(){ super.call(); System.out.println("단축번호 기능을 이용해서 전화를 걸다..
* 재정의 ▷ 상속을 받아서 부모의 메서드를 사용하다보면 본의 아니게 메서드의 내용을 변경시켜서 사용해야 될 때가 있다. ▷ 기존 메서드의 이름은 그대로 유지(파라미터까지)하면서 바디의 내용만 {} 바꿔서 사용하는 것을 "재정의" 라고 한다. 부모클래스--> void print(){ syso("모니터 출력할래"); } 자식클래스--> void print(){ //명시적으로 하나 만든다. : 재정의 한다. (override) syso("프린터에 인쇄할래"); } * 이름은 똑같이 유지하 되, 내용을 변경시켜서 사용한다. 그럼, 부모의 모니터 출력 메서드도 사용할 수 있고 자식이 재정의한 프린터 인쇄 메서드도 사용할 수 있게된다. * 어떻게 하면 모니터 출력인지 프린터 인쇄인지를 구분할까? * 기본 방침은 ..
∨ 객체 지향언어에서 클래스를 다루는 중요한 문법 중에 하나! - 상속 ① 재산을 자식에게 물려주다 ② 클래스에서는 재산이 변수와 메서드이다. ③ 다른 클래스에게 변수와 메서드를 사용할 수 있도록 한다 class A{ } class B extends A{ } - extends : 확장하다 ∨ B는 A를 "확장"시켰습니다. (A의 재산을 B한테 줄테니 B는 그 재산을 바탕으로 새로운 변수와 메서드를 추가시켜서 사용해라) - class A{ //부모클래스, 조상, super(*), 상위, base, void draw(){} } class B extends A{ //자식클래스, 자손, sub, 하위, derived //여기 없는데?? -> 그래도 가능하다 "상속" void paint(){} } -- B로 인스..