728x90
수업내용
1교시 (09:30-10:20)
- Variable_Case
2교시 (10:30-11:20)
- Variable_Case
package a.b.c.ch4;
/*
함수 안에 있는 변수 : 지역변수
클래스 안에 있는 변수 : 멤버변수
변수 : 데이터를 담는 상자
기초자료형은 변수에 리터럴(값)을 담는다.
참조자료형은 변수에 주소값을 담는다.
참조자료형에서 값을 가르키려면 주소값을 사용해서 가르켜야 한다.
*/
import java.util.ArrayList;
import java.util.Date;
import java.util.Calendar;
public class Variable_Case {
public void variableCaseTest(int i
,String s
,int iv[]
,ArrayList aList
,Date d
,Calendar c
,VariableVO vo) {
System.out.println("VariableCaseTest() ::: i >>> : " + i);
System.out.println("VariableCaseTest() ::: s >>> : " + s);
System.out.println("VariableCaseTest() ::: iv >>> : " + iv);
System.out.println("VariableCaseTest() ::: aList >>> : " + aList);
System.out.println("VariableCaseTest() ::: d >>> : " + d);
System.out.println("VariableCaseTest() ::: c >>> : " + c);
System.out.println("VariableCaseTest() ::: vo >>> : " + vo);
}
public ArrayList variableCaseTest_1(ArrayList aList) {
if (aList != null && aList.size() > 0) {
for(int i=0; aList.size() > 0; i++) {
System.out.println("variableCaseTesT_1() ::: aList.get(" + i + ") >>> : " + aList.get(i));
}
}
return aList;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
1. 지역변수
2. 기초자료형
3. 리터럴(값) : 정수, 실수, 논리
*/
int i = 0;
/*
1. 지역변수
2. 참조자료형
3. 주소값 : 객체를 가리키는 위치 값 : 패키지명.클래스이름@16진수값
4. 참조자료형은 값(리터럴)을 직접 가리키지 않고 주소값을 통해서 가리켜야 한다.
*/
String s = "abc";
int iv[] = new int[] {1, 2, 3};
ArrayList aList = new ArrayList();
Date d = new Date();
Calendar c = Calendar.getInstance();
VariableVO vo = new VariableVO();
System.out.println("main() ::: i >>> : " + i);
System.out.println("main() ::: s >>> : " + s);
System.out.println("main() ::: iv >>> : " + iv);
System.out.println("main() ::: aList >>> : " + aList);
System.out.println("main() ::: d >>> : " + d);
System.out.println("main() ::: c >>> : " + c);
System.out.println("main() ::: vo >>> : " + vo);
Variable_Case vc = new Variable_Case();
vc.variableCaseTest(i, s, iv, aList, d, c, vo);
ArrayList aList_1 = new ArrayList();
aList_1.add(i);
aList_1.add(s);
aList_1.add(iv);
aList_1.add(aList);
aList_1.add(d);
aList_1.add(c);
aList_1.add(vo);
ArrayList aList_2 = vc.variableCaseTest_1(aList_1);
if (aList != null && aList.size() > 0) {
for (int n=0; n < aList.size(); i++) {
System.out.println("main() ::: aList_2.get(" + n + ") >>> : " + aList_2.get(n));
}
}
}
}
class VariableVO {
String s;
int i;
}
3교시 (11:30-12:20)
- 회원 가입(입력), 수정, 삭제, 조회
- MemberVO
package a.b.c.ch4.mem.vo;
public class MemberVO {
private String mid;
private String mpw;
private String mname;
private String mhp;
private String maddr;
public MemberVO() {
}
public MemberVO(String mid, String mpw, String mname, String mhp, String maddr) {
this.mid = mid;
this.mpw = mpw;
this.mname = mname;
this.mhp = mhp;
this.maddr = maddr;
}
public String getMid() {
return mid;
}
public String getMpw() {
return mpw;
}
public String getMname() {
return mname;
}
public String getMhp() {
return mhp;
}
public String getMaddr() {
return maddr;
}
public void setMid(String mid) {
this.mid = mid;
}
public void setMpw(String mpw) {
this.mpw = mpw;
}
public void setMname(String mname) {
this.mname = mname;
}
public void setMhp(String mhp) {
this.mhp = mhp;
}
public void setMaddr(String maddr) {
this.maddr = maddr;
}
}
- MemberService
package a.b.c.ch4.mem.service;
import java.util.ArrayList;
import a.b.c.ch4.mem.vo.MemberVO;
public interface MemberService {
// 회원 가입, 수정, 삭제, 조회
public ArrayList<MemberVO> memSelect();
public int memInsert(MemberVO mvo);
public int memUpdate(MemberVO mvo);
public int memDelete(MemberVO mvo);
}
- MemberServiceImpl
package a.b.c.ch4.mem.service;
import java.util.ArrayList;
import a.b.c.ch4.mem.vo.MemberVO;
public class MemberServiceImpl implements MemberService {
@Override
public ArrayList<MemberVO> memSelect() {
// TODO Auto-generated method stub
System.out.println("MemberServiceImpl.memSelect() 시작 >>> :");
return null;
}
@Override
public int memInsert(MemberVO mvo) {
// TODO Auto-generated method stub
System.out.println("MemberServiceImpl.memInsert() 시작 >>> :");
return 0;
}
@Override
public int memUpdate(MemberVO mvo) {
// TODO Auto-generated method stub
System.out.println("MemberServiceImpl.memUpdate() 시작 >>> :");
return 0;
}
@Override
public int memDelete(MemberVO mvo) {
// TODO Auto-generated method stub
System.out.println("MemberServiceImpl.memDelete() 시작 >>> :");
return 0;
}
}
4교시 (12:30-13:20)
- 회원 가입(입력), 수정, 삭제, 조회
- MemberScr
package a.b.c.ch4.mem.scr;
import java.util.ArrayList;
import java.util.Scanner;
import a.b.c.ch4.mem.service.MemberService;
import a.b.c.ch4.mem.service.MemberServiceImpl;
import a.b.c.ch4.mem.vo.MemberVO;
public class MemberScr {
// 회원 가입(입력), 수정, 삭제, 조회
// CRIUD : CREATE 입력, READ 조회, UPDATE 수정, DELETE 삭제
// ISUD : INSERT 입력, SELECT 조회, UPDATE 수정, DELETE 삭제
// 회원 조회
public ArrayList<MemberVO> memSelect() {
System.out.println("MemberScr.memSelect() 시작 >>> : ");
MemberService ms = new MemberServiceImpl();
ArayList<MemberVO> aList = ms.memSelect();
return aList;
}
// 회원 가입
public int memInsert(MemberVO mvo) {
System.out.println("MemberScr.memInsert() 시작 >>> : ");
MemberService ms = new MemberServiceImpl();
int nCnt = ms.memInsert(mvo);
return nCnt;
}
// 회원 수정
public int memUpdate(MemberVO mvo) {
System.out.println("MemberScr.memUpdate() 시작 >>> :");
return 0;
}
// 회원 삭제
public int memDelete(MemberVO mvo) {
System.out.println("MemberScr.memDelete() 시작 >>> :");
return 0;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String mid = "";
String mpw = "";
String mname = "";
String mhp = "";
String maddr = "";
System.out.println("CRUD를 선택하세요 >>> ");
System.out.println("I 입력, S 조회, U 수정, D 삭제, Q 종료");
Scanner sc = new Scanner(System.in);
String crudType = "";
while (true) {
crudType = sc.next();
crudType = crudType.toUpperCase();
if ("I".contentEquals(crudType)) {
System.out.println("MemberScr.main() 시작 >>> : crudType ::: " + crudType);
MemberScr mscr_i = new MemberScr();
MemberVO mvo = new MemberVO();
mscr_i.memInsert(mvo);
}
if ("S".contentEquals(crudType)) {
System.out.println("MemberScr.main() 시작 >>> : crudType ::: " + crudType);
MemberScr mscr_s = new MemberScr();
MemberVO mvo = new MemberVO();
mscr_s.memInsert(mvo);
}
if ("U".contentEquals(crudType)) {
System.out.println("MemberScr.main() 시작 >>> : crudType ::: " + crudType);
MemberScr mscr_u = new MemberScr();
MemberVO mvo = new MemberVO();
mscr_u.memInsert(mvo);
}
if ("D".contentEquals(crudType)) {
System.out.println("MemberScr.main() 시작 >>> : crudType ::: " + crudType);
MemberScr mscr_d = new MemberScr();
MemberVO mvo = new MemberVO();
mscr_d.memInsert(mvo);
}
if ("Q".contentEquals(crudType)) {
System.out.println("MemberScr.main() 시작 >>> : crudType ::: " + crudType);
System.out.println("프로그램을 종료합니다. >>> : ");
break;
}
} // end of while()
} // end of main()
} // end of MemberScr class
5교시 (14:30-15:20)
- [교재 222 ~ 225p] ArrayList
- [교재 351 ~ 353p] Object 클래스
- Exam_EqualsTest
package a.b.c.ch4;
public class Exam_EqualTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
java.lang.Object.equals(Object obj) : 인스턴스 주소값을 비교하는 함수
java.lang.String.equals(Object obj) : 문자열을 비교하는 함수
boolean b = 참조변수.equals(참조변수);
비교할 참조변수를 보고 버추얼 머신이 판단한다.
*/
String s = "abc";
String s1 = "abc";
boolean b = s.equals(s1); // <-- java.lang.String.equals() 함수가 호출되어서 문자열 비교한다.
System.out.println("System.identityHashCode(s) >>> : " + System.identityHashCode(s));
System.out.println("System.identityHashCode(s1) >>> : " + System.identityHashCode(s1));
System.out.println("b >>> : " + b);
Object o = new Object();
Object o1 = new Object();
boolean b1 = o.equals(o1); // <-- java.lang.Object.equals() 함수가 호출되어서 주소값을 비교한다.
System.out.println("o >>> : " + o);
System.out.println("o1 >>> : " + o1);
System.out.println("System.identityHashCode(o) >>> : " + System.identityHashCode(o));
System.out.println("System.identityHashCode(o1) >>> : " + System.identityHashCode(o1));
System.out.println("b1 >>> : " + b1);
boolean b2 = o == o1;
System.out.println("b2 >>> : " + b2);
// 자바에서는 문자열 비교할 때는 == 상등연산자, 등가연산자 사용금지
// 자바스크립트에서는 문자열, 문자 비교에 다 사용 가능
boolean b3 = s == s1;
System.out.println("b3 >>> : " + b3);
}
}
6교시 (15:30-16:20)
- Exam_EqualTest_1
package a.b.c.ch4;
public class Exam_EqualTest_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = new String("abc");
String s1 = new String("abc");
System.out.println("s >>> : " + s);
System.out.println("s1 >>> : " + s1);
System.out.println("System.identityHashCode(s) >>> : " + System.identityHashCode(s));
System.out.println("System.identityHashCode(s1) >>> : " + System.identityHashCode(s1));
System.out.println(s == s1); // false
System.out.println(s.equals(s1)); // true
Integer i = new Integer(100);
Integer i1 = new Integer(100);
System.out.println("i >>> : " + s);
System.out.println("i1 >>> : " + s1);
System.out.println("System.identityHashCode(i) >>> : " + System.identityHashCode(i));
System.out.println("System.identityHashCode(i1) >>> : " + System.identityHashCode(i1));
System.out.println(i == i1); // false
System.out.println(i.equals(i1)); // true
}
}
7교시 (16:30-17:20)
- Exam_ToString
package a.b.c.ch4;
public class Exam_ToString extends Object {
@Override
public String toString() {
// getClass().getName() + '@' + integer.toHexString(hashCode())
return "java.lang.Object 클래스에서 오버라이딩한 toString() 함수이다.";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Exam_ToString et = new Exam_ToString();
System.out.println("et 참조변수 주소값 >>> : " + et);
// getClass().getName() + '@' + Integer.toHexString(hashCode())
// et 참조변수 주소값 >>> : a.b.c.ch4.Exam_ToString@15db9742
System.out.println("et.toString() 참조변수 주소값 >>> : " + et.toString());
System.out.println("et.getClass().getName() >>> : " + et.getClass().getName());
// Exam_ToStringVO 호출하기
Exam_ToStringVO etvo = new Exam_ToStringVO("홍길동", 30);
System.out.println("etvo >>> : " + etvo);
System.out.println("etvo.toString()>>> : " + etvo.toString());
}
}
- Exam_ToStringVO
package a.b.c.ch4;
public class Exam_ToString extends Object {
// java.lang.Object 클래스에 있는 toString 함수를 오버라이딩해서
// java.lang.Object 클래스에서 Exam_ToString 클래스로 함수가 이사왔다.
// 이사온 표현을 @Override 오버라이드 어노테이션으로 표기한다.
// 이사오기 전 toString() 함수의 리턴값인 getClass().getName() + '@' + integer.toHexString(hashCode())을
// 이사온 toString() 함수 블록에서 "java.lang.Object 클래스에서 오버라이딩한 toString() 함수이다."로 변경한다: 재정의한다.
// Exam_ToString 클래스를 사용하는 블록에서 toString() 함수를 호출하면 이후부터는
// getClass().getName() + '@' + Integer.toHexString(hashcode()) 값이 아니고
// "java.lang.Object 클래스에서 오버라이딩한 toString() 함수이다." 값이 리턴된다.
@Override
public String toString() {
// getClass().getName() + '@' + integer.toHexString(hashCode())
return "java.lang.Object 클래스에서 오버라이딩한 toString() 함수이다.";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// Exam_ToString et 참조변수로 인스턴스했다.
Exam_ToString et = new Exam_ToString();
// et 참조변수에 toString() 함수가 생략되어 있다.
System.out.println("et 참조변수 주소값 >>> : " + et);
// getClass().getName() + '@' + Integer.toHexString(hashCode())
// et 참조변수 주소값 >>> : a.b.c.ch4.Exam_ToString@15db9742
System.out.println("et.toString() 참조변수 주소값 >>> : " + et.toString());
System.out.println("et.getClass().getName() >>> : " + et.getClass().getName());
// Exam_ToStringVO 호출하기
Exam_ToStringVO etvo = new Exam_ToStringVO("홍길동", 30);
// et 참조변수에 toString() 함수가 생략되어 있다.
System.out.println("etvo >>> : " + etvo);
System.out.println("etvo.toString()>>> : " + etvo.toString());
}
}
8교시 (17:30-18:30)
- Exam_String
package a.b.c.ch4;
// 문자열 불변 immutable
// 스트링 클래스에 초기화된 값은 절대 변경되지 않는다.
public class Exam_String {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s0 = new String("java");
String s1 = new String("android");
System.out.println("s0 >>> " + s0);
System.out.println("System.identityHashCode(s0) s0 >>> : " + System.identityHashCode(s0));
System.out.println("s1 >>> " + s1);
System.out.println("System.identityHashCode(s1) s1 >>> : " + System.identityHashCode(s1));
// public String concat(String str)
//javaandroid
String s2 = s0.concat(s1);
System.out.println("s2 >>> : " + s2);
System.out.println("System.identityHashCode(s2) s2 >>> : " + System.identityHashCode(s2));
/*
s0 : java
System.identityHashCode(s0) s0 >>> : 366712642
s1 : android
System.identityHashCode(s0) s0 >>> : 1829164700
s2 : javaandroid
System.identityHashCode(s0) s0 >>> : 2018699554
*/
// int i = 12345;
// String ss = i + "";
// String -> StringBuffer -> StringBuilder
String sb0 = new String("abc");
System.out.println("sb0 >>> : " + sb0);
System.out.println("System.identityHashCode(sb0) sb0 >>> : " + System.identityHashCode(sb0));
StringBuffer sb1 = new StringBuffer();
System.out.println("StringBuffer sb1 >>> : " + System.identityHashCode(sb1));
sb1.append(" and");
sb1.append(" android");
sb1.append(" programming is fun!!!!!");
System.out.println("sb1 >>> : " + sb1);
System.out.println("StringBuffer sb1 >>> : " + System.identityHashCode(sb1));
// sb0 = sb1;
// String 클래스와 StringBuffer 클래스는 다른 클래스이다.
// 사용하려면 형변환을 해야한다.
sb0 = sb1.toString();
System.out.println("sb0 >>> : " + sb0);
System.out.println("System.identityHashCode(sb0) sb0 >>> : " + System.identityHashCode(sb0));
}
}
- Exam_StringBufferTest
package a.b.c.ch4;
public class Exam_StringBufferTest {
public static String getBoaedSelectAllQuery() {
StringBuffer sb = new StringBuffer();
sb.append(" SELECT \n");
sb.append(" A.BNUM BNUM \n");
sb.append(" ,A.BSUBJECT BSUBJECT \n");
sb.append(" ,A.BWRITER BWRITER \n");
sb.append(" ,A.BPW BPW \n");
sb.append(" ,A.BMEMO BMEMO \n");
sb.append(" ,A.BPHOTO BPHOTO \n");
sb.append(" ,A.DELETEYN DELETEYN \n");
sb.append(" ,TO_CHAR(A.INSERTDATE, 'YYYY-MM-DD') INSERTDATE \n");
sb.append(" ,TO_CHAR(A.UPDATEDATE, 'YYYY-MM-DD') UPDATEDATE \n");
sb.append(" FROM \n");
sb.append(" MVC_BOARD A \n");
sb.append(" WHERE A.DELETEYB = 'Y' \n");
sb.append(" ORDER BY 1 DESC \n");
return sb.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String sqlQuery = Exam_StringBufferTest.getBoaedSelectAllQuery();
System.out.println("sqlQuery \n" + sqlQuery);
}
}
Notes
- 이번 주 안에 마무리
- 교재 351p 기본 클래스, 387p 컬렉션 프레임워크, 449p 내부 클래스, 487p 예외 클래스, 511p 자바입출력 I/O
- 다음주에 데이터베이스 들어가면서 자바를 함께 하고 마무리
728x90
'국비지원교육 (22.01-22.07) > 강의노트' 카테고리의 다른 글
22-02-23(수) 020일차 [Java] java.util.Math (0) | 2022.04.20 |
---|---|
22-02-22(화) 019일차 [Java] 예외처리 (0) | 2022.04.20 |
22-02-18(금) 017일차 [Java] 상속, 추상클래스, 인터페이스 예제 연습, ArrayList (0) | 2022.04.20 |
22-02-17(목) 016일차 [Java] 인터페이스, 이클립스 설치 및 사용 방법, ArrayList (0) | 2022.04.18 |
22-02-16(수) 015일차 [Java] 상속, 다형성, 상수, final (0) | 2022.04.16 |