JAVA공부하기 88

클래스 추상화와 상속 실습

 

- 클래스의 추상화 -> 일반화

- 경찰, 군인, 소방관이라는 각각의 클래스 생성

: InheritanceText.java

 

 

 

- 변수와 메서드의 중복 발생

 

- 추상화를 통한 상속

: InheritanceTest2.java

 

 

 

- 다형성 제공

: overriding, overloading

 

 

- 보다 유연한 개발이 가능

 

JAVA공부하기87

상속의 이해

 

public class Ant

{

private String name="Ant";

public String getName()

{ return name; }

public String toString()

{ return "이름 : "+name;}

public void pring()

{ System.out.println(name+"은 동굴에 산다.") }

}

 

public class WaterAnt extends Ant

{

private String where="water";

public void show()

{ System.out.println(where+"주변"); }

public void print()

{ System.out.println(getName()+"은 "+where+"에 산다."); }

}

 

public class WaterAntMain

{

public static void main(String[] args)

{

Ant ant=new Ant();

ant.print();

System.out.println(ant.toString());

 

WaterAnt sant=new WaterAnt();

want.print();

want.show();

System.out.println(want.toString());

}

}

 

 

 

WaterAnt want=new WaterAnt();

 

 

 

 

 

Ant ant1 = new Ant();

 

 

WanterAnt want= new WanterAnt();

JAVA공부하기 86

생성자메서드의 상속과 호출

 

상속된 서브 클래스에서 객체가 생성

- 슈퍼 클래스의 생성자가 먼저 수행

- 그 다음에 서브클래스의 생성자가 수행

 

자동으로 수행되는 슈퍼 클래스의 생성자는 묵시적 생성자

- 묵시적 생성자란 매개변수가 없는 생성자를 뜻함

 

오버로딩된 생성자를 호출하기 위해 "super"를 사용

- super의 사용 형식

* super(매개변수)

- 생성자 메서드는 상속되지 않음

 

생성자메서드의 상속과 호출 예제 1번

 

 

 

생성자 메서드의 상속과 호출 예제 2번

 

 

html&css공부

이번예제는 유틸메뉴를 만들어 보겠습니다. ^^

 

바디쪽 부터 시작해 볼께요.

<div id="wrap">

<div id="header">

<h1><a href="#">it개발자 스터디공간</a></h1>

<dl id="util_menu">

<dt class="hide">유틸메뉴</dd>

<dd><a href="#">홈</a></dd>

<dd><a href="#">로그인</a></dd>

<dd><a href="#">회원가입</a></dd>

<dd><a href="#">사이트맵</a></dd>

</dl>

</div>

</div>

 

CSS를 적용해보겠습니다.

 

 

<style type="text/css">

*{margin:0; padding:0;}

body{font:12px gulim,"굴림", sans-serif; color:#333;}

a{text-decoration:none; color:#333;}

.hide{position:absolute; left:-9999px; font-size:0; overflow:hidden;}

#wrap{width:770px; margin:0 auto;}

#header{height:100px; position:relative;}

#header h1{padding:30px 0 0 4px;}

#header dd{float:left; margin-left:30px; dispaly:inline;}

#util_menu{position:absolute; right:3px; top:8px;}

</style type>

 

 

 

 

연습을 계속 하다보면 실력이 up 될거에요 !!!

모두들 파이팅!!! ><

유틸메뉴 만들기 어렵지않아요~

JAVA공부하기 85

변수 및 메서드의 접근제어

 

접근 지정자로의 접근 제어

 

상속 가능한 상위클래스 멤버

- public 또는 protected 접근 지정자로 선언된 변수와 메소드

- 같은 패키지 내의 상위클래스에 있는 접근 지정자가 생략되어있는 변수와 메소드 (default)

 

상속 불가능한 상위 클래스 멤버

- 상위클래스와 하위 클래스에 같은 이름의 변수나 메소드가 있는경우

- 메소드 이름이 같은 경우는 재정의

- private 접근 지정자로 선언된 변수와 메소드

 

 

 

// 서브 클래스의 변수와 슈퍼 클래스의 변수 이름이 같을 때

 

자바공부하기 84

 

클래스 상속 선언의 형식

 

 

 

- 클래스 class_name이 클래스

 

super_class_name을 상속받음 정의

: 상위 클래스는 하위 클래스가 가질 수 있는 일반적인 상태와 행동을 정의

: 하위 클래스는 하위 클래스만이 갖는 특별한 상태와 행동을 정의

 

 

class Super1 {public int x=1;}

class Super2 extends Super1 {public int y=2;}

class Super3 extends Super2 {public int z=3;}

class InTest

{

public static void main(String[] a)

{

Super1 S1 = new Super1();

Super2 S2 = new Super2();

Super3 S3 = new Super3();

System.out.println("s1의 변수:"+s1.x);

System.out.println("s2의 변수:"+s2.x+"  "+s2.y);

System.out.println("s3의 변수:"+s3.x+"  "+s3.y+ "   " +s3.z);

}

}

 

 

 

 

 

자바공부하기 83.

클래스의 계층구조

 

- 상속으로 인한 클래스의 계층 구조

: 자바의 모든 클래스는 슈퍼 클래스(super class)를 가진다.

: 계층 구조의 위에 위치하는 클래스

* 상위 클래스(super class, parent class)

: 상위클래스를 상속받는 클래스

* 하위 클래스(sub class, childclass)또는 파생클래스(derived class)

 

- 자바에서 최상위 슈퍼 클래스는 java.lang.Object

 

- 명시적으로 지정하지 않으면 모든 클래스는 Object 클래스의 서브 클래스

 

- 자바에서 모든 클래스는 하나이상의 하위 클래스를 가질 수 있으나, 상위 클래스는 하나만을 가질 수 있음.

: 단, final클래스는 하위 클래스를 가지지 못함

 

- 중복 상속 불가

: 단, Interface를 이용한 중복 구현은 가능

 

 

 

자바공부하기 82

상속의 개요

 

- 상속은 객체지향언어의 특성 중에 가장 중요한 개념

: 모듈의 재사용(reuse)과 코드의 간결성을 지원함

: 클래스를 이용하여 다른 클래스를 생성 또는 정의할 수 있음

 

- ex) 자동차가 갖는 일반적인 상태와 행동들을 자동차 클래스로 정의

: 이 자동차 클래스를 확장하여 버스만이 갖는 상태와 행동을 추가하여 새롭게 버스 클래스를 정의

: 크럭만이 갖는 상태와 행동을 추가하여 트럭 클래스, 자가용만이 갖는 상태와 행동을 추가하여 자가용 클래스를 정의할 수 있음

: 자동차 클래스 상위 클래스(super class)

: 버스, 트럭, 자가용 클래스 등은 하위 클래스(sub class)

 

 

+ Recent posts