'분류 전체보기'에 해당되는 글 365건

  1. 2009.06.04 abstract 용도..
  2. 2009.06.04 css를 사용한 table/div 연습.
  3. 2009.06.04 커서모양/개행여부/그림좌우
  4. 2009.06.04 문단위치/폭/높이 지정.
  5. 2009.06.03 클래스간 형변환.
  6. 2009.06.03 기본자료형 형변환.
  7. 2009.06.03 final 역활.
  8. 2009.06.03 static 접근방법.
  9. 2009.06.03 static 사용..
  10. 2009.06.03 super(), this() 사용시..

abstract 용도..

DevTool/Java 2009. 6. 4. 17:43

package ch07;

public class Ch0706
{
 public static void main(String[] args)
 {
  // Car car = new Car(); -> X
  Car car = new RacingCar(); //하위클래스를 통한 생성가능. 왜 abstract를 통해서
  car.SpeedUp();
  car.print();
  //car.sayhello(); -> X //상위클래스에 있는 abstract만 가능.
 
 
 }
}

***** Car.java *****
package ch07;

public abstract class Car
{
// 추상클래스 : 추상메서드가 하나라도 존재하념 그것이 추상클래스이다.
// 추상클래스를 두게되었을 경우 추상클래스를 계승받는 하위클래스에서
// 선언한 추상메서드를 전부 구현해주어야한다.
// 추상메서드 : 함수의 선언만 존재하되 실체는 없는 메서드.
// 형식>public abstract 반환형 멤버변수(...);

//추상클래스는 멤버변수, 멤버함수를 정상적인 클래스처럼 가질수 있지만,
//중요한것은 직접적인 개체생성이 불가능하다.
 public int speed = 0;
 
 public abstract void SpeedUp(); //class도 바꿔줘야함.
 //인터페이스랑 차이점 : 추상클래스는 멤버변수를 가질수 있다.
 
 public void print()
 {
  System.out.println("현재속도 : "+speed);
 }
 
}

***** Taxi.java ****
package ch07;

public class Taxi extends Car
{
 public void SpeedUp()
 {
  // TODO 자동 생성된 메소드 스텁
  speed+=30;
 }
}

**** Truck.java *****
package ch07;

public class Truck extends Car
{
 public void SpeedUp()
 {
  // TODO 자동 생성된 메소드 스텁
  speed+=10;
 }
 
}

**** RacingCar.java *****
package ch07;

public class RacingCar extends Car
{
 public void SpeedUp()
 {
  // TODO 자동 생성된 메소드 스텁
  speed+=50;
 }
 
 public void sayHello()
 {
  System.out.println("sayHello()");
 }
}

Posted by 말없제이
,

<html>
<head>
<style type="text/css">
.ex1tdcenter
{
text-align:center;
}
.ex1td
{
background-color:green;text-align:right;width:100px;
}
.ex1inp200
{
width:200px;
border-color:red;
}
.ex1inp150
{
width:150px;
border-color:red;
}
.ex2tab
{
border-style:solid;
border-width:2;
border-color:green;
text-align:center;
width:360px;
}
.ex2tdblue
{
background-color:#6d6dff;
color:white;
}
.ex2tdsky
{
background-color:#93feff;
}
.nonetd
{
cellspacing;0;
}
.ex3tab
{
border-style:double;
border-width:5;
border-color:green;
background-color:white;
}
.ex3tab td
{
background-color:#6d6dff;
border-color:withe;
}
.div1
{
position:relative;top:0px;left:0px;
width:800px;
height:80px;
background-color:#6d6dff;
}
.div2
{
position:relative;top:0px;left:0px;
width:200px;
height:500px;
background-color:#ffb5f7;
float:left;
}
.div3
{
position:relative;top:0px;left:-3px;
width:603px;
}
.div4
{
position:relative;top:0px;left:0px;
width:500px;
height:400px;
background-color:beige;
float:left;
}
.div5
{
position:relative;top:0px;left:-3px;
width:100px;
height:400px;
background-color:#abd0bc;

}
.div6
{
position:relative;top:0px;left:0px;
width:600px;
height:100px;
background-color:#8984b9;
}
</style>
</head>
<body>
<h2>실습1)</h2>
<table>
<tr>
<td colspan="2" class="ex1tdcenter">관리자ID와 비밀번호를 입력해 주세요</td>
</tr>
<tr>
<td class="ex1td">id</td><td><input type="text" id="id" class="ex1inp200"></td>
</tr>
<tr>
<td class="ex1td">비밀번호</td><td><input type="password" id="pwd" class="ex1inp150"><input type="button" id="login" value="login"></td>
</tr>
</table>
<br>
<hr>
<h2>실습2)</h2>
<div style="float:left;width:400px;">
<table class="ex2tab" CELLSPACING="0">
<tr class="ex3td">
<td colspan="2">신문</td>
</tr>
<tr class="ex2tdblue">
<td>일간지</td><td>경제지</td>
</tr>
<tr>
<td>동아일보</td><td>매일경제</td>
</tr>
<tr>
<td>한겨레</td><td>서울경제</td>
</tr>
<tr>
<td>전자신문</td><td> </td>
</tr>
</table>
</div>
<div style="width:400px;">
<table class="ex2tab">
<tr>
<td colspan="2">방송</td>
</tr>
<tr class="ex2tdsky">
<td>방송국</td><td>CATV</td>
</tr>
<tr>
<td>kbs</td><td>ytn</td>
</tr>
<tr>
<td>mbc</td><td> </td>
</tr>
<tr>
<td>sbs</td><td> </td>
</tr>
</table>
</div>
<br>
<hr>
<h2>실습3)</h2>
<table class="ex3tab" border="1">
<tr>
<td width="150px">아이디</td>
<td width="400px"><input class="ex1inp200" type="text">중복확인</td>
</tr>
<tr>
<td>비밀번호</td>
<td><input class="ex1inp200" type="password"></td>
</tr>
<tr>
<td>이름</td>
<td><input class="ex1inp200" type="text"></td>
</tr>
<tr>
<td>이메일</td>
<td><input class="ex1inp200" type="text"></td>
</tr>
<tr>
<td>연락처</td>
<td><input class="ex1inp200" type="text"></td>
</tr>
<tr>
<td>자기소개</td>
<td>
<textarea rows="8" cols="50">
</textarea>
</td>
</tr>
</table>
<br>
<hr>
<h2>실습4)</h2>
<div class="div1">상단로고</div>
<div class="div2">좌측메뉴</div>
<div class="div3">
<div class="div4">컨텐츠</div>
<div class="div5">오른쪽</div>
<div class="div6">하단</div>
</div>
</body>
</html>

Posted by 말없제이
,

<html>
<head>
<style type="text/css">
div
{
background-color:green;
}
#ab
{
background-color:blue;display:inline;
}
#ac
{
background-color:beige;display:block;
}
#ad
{
background-color:beige;display:none;
}
</style>
</head>
<body>
<h1>커서 모양</h1>
<div style="cursor:auto">style="cursor:auto"(자동)</div>
<div style="cursor:crosshair">style="cursor:crosshair"(십자형)</div>
<div style="cursor:pointer">style="cursor:pointer"(링크위모양)</div>
<div style="cursor:move">style="cursor:move"(이동가능모양)</div>
<div style="cursor:text">style="cursor:text"(텍스트 선택용모양)</div>
<div style="cursor:wait">style="cursor:wait"(처리중모양)</div>
<div style="cursor:help">style="cursor:help"(도움말모양)</div>
[n|s|w|e|ne|nw|se|sw]-resize(크기 재설정 가능 : 위|아래|왼쪽|오른쪽|오른쪽위|왼쪽위|오른쪽아래|왼쪽아래 방향)<br>
<br><br>
<h1>display - 출력형태</h1>
display:block(줄바꿈 일어남)|inline(줄바꿈 일어나지 않음)|none(보이지 않음)<br>
<xmp>
#ab
{
background-color:blue;display:inline;
}
#ac
{
background-color:beige;display:block;
}
#ad
{
background-color:beige;display:none;
}
.....
p 태그<br>
앞부분 <p id="ab">중간부분</p> 뒷부분<br><br>
div 태그<br>
앞부분 <div id="ab">중간부분</div> 뒷부분<br><br>
span 태그<br>
앞부분 <span id="ac">중간부분</span> 뒷부분<br><br>
span 태그<br>
앞부분 <span id="ad">중간부분</span> 뒷부분<br><br>
</xmp>
p 태그<br>
앞부분 <p id="ab">중간부분</p> 뒷부분<br><br>
div 태그<br>
앞부분 <div id="ab">중간부분</div> 뒷부분<br><br>
span 태그<br>
앞부분 <span id="ac">중간부분</span> 뒷부분<br><br>
span 태그<br>
앞부분 <span id="ad">중간부분</span> 뒷부분<br><br>
<br>
<h1>그림 좌우 배치</h1>
float:left(그림 왼쪽배치)|right(그림 오른쪽 배치)|none(좌우배치와 삽입이 실행안됨)<br>
clear:left(왼쪽요소 삽입해제)|right(오른쪽 요소삽입해제)|both(양쪽 요소 삽입해제)|none(삽입해제를 하지 않음)<br>
<xmp>
<img style="float:right;" src="../html/image/poster1.jpg" alt="거북이도난다">
거북이.. 토끼.. 첫줄<br> 말<br> 거북이<br> 난
<img src="../html/image/poster2.jpg" alt="말아톤">

<img style="float:left;" src="../html/image/poster3.jpg"><br>
거북이.. 토끼.. 둘째줄<br>세쩨줄<br><p style="clear:left">이건 clear준상태 밑으로 내려감</p>
<img src="../html/image/poster4.jpg">
</xmp>
<img style="float:right;" src="../html/image/poster1.jpg" alt="거북이도난다">
거북이.. 토끼.. 첫줄<br> 말<br> 거북이<br> 난
<img src="../html/image/poster2.jpg" alt="말아톤">

<img style="float:left;" src="../html/image/poster3.jpg"><br>
거북이.. 토끼.. 둘째줄<br>세쩨줄<br><p style="clear:left">이건 clear준상태 밑으로 내려감</p>
<img src="../html/image/poster4.jpg">
</body>
</html>

Posted by 말없제이
,
<html>
<head>
<style type="text/css">
span
{
font-size:20;width:300;height:200;background-color:yellow;
}
div
{
font-size:20;width:200;height:150;background-color:green;
}
.rel1{position:relative;top:0px;left:0px;}
.abs1{position:absolute;top:150px;left:150;}
.abs2{position:absolute;top:300px;left:200;}
#clip1 {position:absolute;top:1700;left:150;clip:rect(0px,150px,200px,0px)}
</style>
</head>
<body>
<h1>문단의 위치지정, 폭, 높이 지정 속성</h1>
position:static(위치지정 사용못함) | relative(현재 컨텐츠의 상대적) | absolute(절대적 위치)<br>
.rel1{position:relative;top:50px;left:100;}<br>
.abs1{position:absolute;top:150px;left:150;}<br>
.abs2{position:absolute;top:300px;left:200;}<br>
<span>스펜 한글로하면 스판</span><span class="rel1" style="background-color:beige;">position:relative;top:50px;left:100; 상대적위치</span><span class="abs1">position:absolute;top:150px;left:150;절대적위치</span>
<div class="abs1">절대적 위치1</div>
<div class="abs2">절대적 위치2</div>
<br><br><br><br><br>
<h1>겹친 순서지정</h1>
z-index:수치. 수치는 클수록 위쪽<br>
<div style="position:absolute;top:550px;left:150px;">A - 겹치기 z-index적용하기전</div><div style="position:absolute;top:500px;left:200px;background-color:beige;">B - 겹치기2 z-index적용하기전</div>
<div style="position:absolute;top:550px;left:450px;z-index:255;">A - 겹치기 z-index적용후</div><div style="position:absolute;top:500px;left:500px;background-color:beige;">B - 겹치기2 z-index적용후</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h1>보여주는지 여부</h1>
visibility:visible(보임) | hidden(보이지 않음);<br>
<h1>범위 벗어나는 글씨처리</h1>
overflow:scroll(내용에 관계없이 스크롤바) | visible(범위를 벗어나는 내용 보여줌) | auto(자동조정) | hidden(범위를 벗어나는 내용 감춤)<br>
<div style="overflow:scroll">overflow:scroll 가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ</div>
<div style="overflow:visible">overflow:visible 가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ</div>
<div style="overflow:auto">overflow:auto 가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ</div>
<div style="overflow:hidden">overflow:didden 가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ가나다라 라마다 사아자 닫아아 오우 가사 믕.바ㅣ다 ㅣㅏ드 ㅏ즏 ㅇ</div>
<h1>잘라서 출력</h1>
<img src="../html/image/africa.jpg" id="clip1" width="500" height="400">
</body>
</html>
Posted by 말없제이
,

package ch07;

public class Ch0705
{
 //상속과 클래스 래퍼런스의 관계 (중요) -> object -> 컬렉션 -> 제너릭
 public static void main(String[] args)
 {
  Son son = new Son();
  son.playing(); //형변환전 son에서 새로 추가된함수
 
  Father father; //인스턴스화(초기화)되지 않은..
  //★ 클래스간의 형변황 되려면 반드시 해당클래스간의 계승관계가 있어야 함.
  //1) 서로 계승관계를 가지고 있는 두개의 레퍼런스간의
  //대입실험, 상위클래스 레퍼런스에 하위클래스 래퍼런스를 대입(형변환 필요없다)
  father = son;
 
  //father.playing(); -> X : 하위클래스의 멤버변수는
  //상위클래스의 레퍼런스에서 호출이 불가능 하다.

  //2) 하위클래스의 레퍼런스에 상위클래스 레퍼런스를 대입하는 경우
  //계승관계가 있을 경우.
  //반드시 형변환을 해야 가능.
  //반대상황.. 상위클래스를 하위클래스로 넣을려고 할때..
  Son son1; //초기화되지 않은 레퍼런스 변수
  son1 = (Son)father;
  son1.playing();
 }
}

****** Father.java ******
package ch07;

public /* final */ class Father //final 상속시키지 않겠다고 명시한것.
{
 public /* final */ void work()  // final 하위클래스에서 오버라이딩 허용안함.
 {
  System.out.println("아버지께서 일하셔"); //상속과 클래스 레퍼런스 관계 위해...  
 }
}

****** Son.java ******
package ch07;

public class Son extends Father
{
 //son에서 새로 추가된 함수
 public void playing()
 {
  System.out.println("놀고먹는 거 좋아해");  
 }
 
 public static void main(String[] args)
 {
   
 }
}

Posted by 말없제이
,

package ch07;

public class Ch0704
{
 public static void main(String[] args)
 {
//  기본자료형 : boolean,int,double,float, ...
//  클래스자료형 : String,Object, 나머지 자바에서 제공하는 내장클래스 들.
 
  byte a=1;
  int b;
  //표현범위가 작은 자료형에서 큰자료형으로 변수값 넣을시
  //형변환이 필요없다.
  b=a;
 
  int c=10;
  byte d;
  //표현범위가 큰 자료형에서 자은 자료형으로 변수값 넣을시
  //형변환이 필요.
  //d=c;
  d=(byte)c;
 
  //java는 관련없는 자료형간의 형변환은 안된다.
  boolean e=true;
  int f;
  //f=(int)e;
 }
}

Posted by 말없제이
,

final 역활.

DevTool/Java 2009. 6. 3. 17:50

package ch07;

public class Ch0703 extends Father
{
//father.java에서 final.. 사용시..
//class에 사용될 경우 : 하위클래스를 가질 수 없다.
//멤버함수에 사용할 경우 : 하위클래스에서 오버라이딩 불가.
//멤버/로컬변수 사용시 : 값을 변경 허락하지 않겠다는 의미.
//(완벽하지 않은상수 : new .. new.. 같지 않음 -> 해결방법 : static붙여서사용)
 
 //public int a;
 public final int a = 100;
 
 //상수의 형태를 취하려면 아래와 같이 static을 붙이면
 //인스턴스에 관계없이 참조가능한 상수가 된다.
 public final static double pi=3.14;
 public void work()
 {
  // TODO 자동 생성된 메소드 스텁
  super.work();
  //a=100; //public final int a = 100; 로 변경되지 안음
 }
 
}

****** Father.java ******
package ch07;

public /* final */ class Father //final 상속시키지 않겠다고 명시한것.
{
 public /* final */ void work()  // final 하위클래스에서 오버라이딩 허용안함.
 {
  System.out.println("아버지께서 일하셔"); //상속과 클래스 레퍼런스 관계 위해...  
 }
}

Posted by 말없제이
,

package ch07;

public class Ch0702
{
 public static String message;
 
 //static 멤버함수에는 멤버변수에 직접 접근할수 없다.
 //그러나 static멤버변수에는 아래와 같이 접근가능함
 public static void print()
 {
  message ="Message";
  System.out.println(message);
 
  //sayHello();
  //static 멤버함수에서는 멤버함수를 호출 할 수 없다.
 }

 public void sayHello() {}
 
 public static void main(String[] args)
 {
  //static 멤버변수와 마찬가지로 클래스이름.멤버함수로 호출 가능
   Ch0702.print();
   //main 또한 같은 static 멤버함수이므로
   //위의 static 멤버함수호출을 직접 호출할수 있다.
   print();
 
  //sayHello();
 }
}

Posted by 말없제이
,

static 사용..

DevTool/Java 2009. 6. 3. 17:47

package ch07;

public class Ch0701
{
 //static으로 선언된 멤버변수는 공유해서 사용.
 public static String x;
 public static int y;
 //static 없음..  a.x => Hello a.y=10
 //static 없음..  a.c => null c.y=0
 
 //public
 
 public static void main(String[] args)
 {
//  static으로 선언ㅇ된 멤버변수나 멤버함수는
//  아래의 경우처럼 생성된 개별인스턴스개체변수에 관계없이
//  그 값을 서로 공유하는 형태가 된다.
//  (모든 자동차의 교통바송은 95.1주파수이다.)
 
//  특징: static으로 선언된 멤버변수나 멤버함수는
//  인스턴스를 생성하지 않고 클래스이름.멤버변수나
//  클래스이름.멤버함수() 형태로 직접 참조 및 호출 가능
 
  Ch0701 a = new Ch0701();
  a.x = "Hello";
  a.y = 10;
 
  Ch0701 b = new Ch0701();
  b.x = "Message";
  b.y = 100;
 
  System.out.println("x : "+a.x+", y : "+a.y);
  Ch0701 c = new Ch0701();
  System.out.println("x : "+c.x+", y : "+c.y);
  Ch0701.x = "static 놀랍지??";
  Ch0701.y = 1004;
  System.out.println("x : "+a.x+", y : "+a.y);
  System.out.println("x : "+b.x+", y : "+b.y);
  System.out.println("x : "+c.x+", y : "+c.y);
 }
}

Posted by 말없제이
,

package ch06;

import ch05.sub.*;

public class Ch0608 //extends Car
{
// this() : 현재 클래스의 생성자함수를 호출할때 사용.
// super() : 상위클래스의 생성자함수를 호출할때 사용.
 public Ch0608()
 {
  // TODO 자동 생성된 생성자 스텁
  this("hello");
  System.out.println("인자없는 생성자~");
 }
 
 public Ch0608(String s)
 {
  //this()는 생성자 오버로딩시 생성자에서
  //오버로딩된 다른 생성자를 호출 할때 사용.
  //지켜야할 규칙 : 반드시 생성자 의 첫줄에서 사용.
  //this();
  System.out.println(s);
 }
 
 public void run()
 {
  //1상황.
  //this();
 }
 
 public static void main(String[] args)
 {
  //1상황.
  //new Ch0608("Hello");
  new Ch0608();
 }
}

***** ColorCar.java ******
package ch06;

import ch05.sub.*;

public class ColorCar extends Car
{
 /*
  * 메서드 오버라이딩 : 오버로딩과 다르다
  * 계승에서 상위클래스의 멤버함수의 이름,인자의 수까지
  * 완벽히 똑같은 이름을 하위클래스에서 구현할 경우
  * 상위클래스의 멤버함수는 은닉화되어 힘을 읽어버리며,
  * 하위클래스의 멤버함수가 그 함수를 대신하게 된다.
  * (상위클래스의 멤버함수의 재정의)
  * */
 
 public ColorCar()
 {
  // TODO 자동 생성된 생성자 스텁
  //1.기존..
  //super();
  //0603수정
  super("a","b"); //이미 오버로딩되어있으므로,
  //결론 : 상위클래스의 생성자가 오버로딩되어 있어서
  //하위클래스의 생성자에서 상위클래스의 생성자중 하나를 선택하여
  //실행하고자 하는 경우에 super()는 사용된다.
 }
 
 //아래의 print는 상위클래스의 print와 이름은 같지만,
 //인자의 수가 다르므로 멤버함수의 오버로딩에 해당.
 public void print(String message)
 {
  System.out.println(message);
 }
 
 //상위클래스의 print메서드의 오버라이딩
 public void print()
 {
  // TODO 자동 생성된 메소드 스텁
  //super는 상위클래스를 가르키는 지시어이다.
  //따라서 아래와 같이 super.print()를 지정하면,
  //상위 클ㄹ래스의 print()가 호출된다.
  //super는 보통 지금처럼 오버라이딩시
  //하위에서 상위클래스의 오버라이딩된 원본 메서드를 호출할때 사용.
  super.print();
  System.out.println("Hello Color Car()");
 }
 
 public static void main(String[] args)
 {
  ColorCar colorCar = new ColorCar();
  //colorCar.print("aa");
  colorCar.print();  
 }
}

Posted by 말없제이
,