하위폴더 1 : public

package com.nate; //컴파일 명령어 cmd> 해당경로 접근 후 javac -d . 파일명.java


public class Information 

{

String name = "Information 조현";

int age = 35;


public Information(){}


public void output(){

System.out.println(name+" = "+age);

}

public String getName(){

return name;

}

}


=====================================================================


하위폴더 2 : public + protected

package com.nate;

public class  Student

{

String name = "Student 조현";

String school = "가산초등학교";


public Student(){}


protected void prn(){

System.out.println(name+" = "+school);

}

}


=====================================================================

동일폴더
class  SchoolInfor
{
String name = "SchoolInfor 조현";
int kor = 90;

SchoolInfor(){}

void output(){
System.out.println(name+" = "+kor);
}

void setName(String name){
this.name = name;
}
void setKor(int kor){
this.kor = kor;
}
String getName(){
return name;
}
int getKor(){
return kor;
}
}

=====================================================================

메인

import com.nate.Information;

import com.nate.Student;


class StartMain extends Student

{

StartMain(){}

void test(){

prn();

}

public static void main(String[] args) 

{

SchoolInfor si = new SchoolInfor(); //동일 폴더에 있는 객체 : 무조건 실행

si.output();


Information i = new Information(); //하위 폴더에 있는 객체 : public 필요(범용)

i.output();


//System.out.println("i.name = "+i.name);

System.out.println("i.getName = "+i.getName());


Student s = new Student(); //하위 폴더에 있는 객체 : public과 protected 활용

//s.prn(); //메소드가 protected이기 때문에 상속받아 사용할 수 있다.

StartMain sm = new StartMain();

sm.prn();

}

}



'응용 SoftWare > JAVA' 카테고리의 다른 글

static  (0) 2016.12.01
private  (0) 2016.12.01
package ComFile  (0) 2016.12.01
상속 관계에서 객체 형변환  (0) 2016.12.01
클래스 상속  (0) 2016.12.01
Posted by Hyun CHO
,

package com.nate; //컴파일 명령어 cmd> 해당경로 접근 후 javac -d . 파일명.java


public class Information 

'응용 SoftWare > JAVA' 카테고리의 다른 글

private  (0) 2016.12.01
public과 protected  (0) 2016.12.01
상속 관계에서 객체 형변환  (0) 2016.12.01
클래스 상속  (0) 2016.12.01
[객체] 로또번호 생성기  (0) 2016.11.30
Posted by Hyun CHO
,

상위 클래스

class  Parent

{

String name = "조현";

int age = 35;


void setName(String name){

this.name = name;

}

void setAge(int age){

this.age = age;

}

String getName(){

return name;

}

int getAge(){

return age;

}

}


=====================================================================


하위 클래스

class  Child extends Parent //하위 클래스

{

String name = "조현II";

String tel = "010-9142-1348";

String getName(){ //overiding

return "["+name+"]";

}

void prn(){

System.out.println(name+" = "+age);

}

}


===================================================================

메인
class  InheritanceTest
{
public static void main(String[] args) 
{
//상속 관계에서 객체 형변환
Child c1 = new Child();
System.out.println("이름 = "+c1.getName());
c1.prn();
//클래스의 형변환
//크래스의 형변환은 상속관계에서 하위 클래스 객체를 상위 클래스로 형변환 할 수 있다.
//상위 클래스에서 하위 클래스로 형변환은 불가능하다.
//하위 클래스에만 있는 메소드는 상위 클래스로 형변환시 하위 클래스의 메소드는 소멸한다.
Parent p1 = (Parent)c1;
System.out.println("이름 = "+p1.getName());
//p1.prn(); //하위 클래스에만 있는 메소드
System.out.println("tel="+c1.tel);
//System.out.println("tel="+p1.tel);
}
}


'응용 SoftWare > JAVA' 카테고리의 다른 글

public과 protected  (0) 2016.12.01
package ComFile  (0) 2016.12.01
클래스 상속  (0) 2016.12.01
[객체] 로또번호 생성기  (0) 2016.11.30
생성자메소드에서 다른 생성자메소드 호출하는 법  (0) 2016.11.30
Posted by Hyun CHO
,