ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 step3 - Class(객체생성) 상속(1)
    Java 2022. 10. 24. 21:38

     

    간단한 계산기능이 있는 Calculator class를 생성하였다.

    package test.mypac;
    
    public class Calculator {
    	// 필드
    	public String brand="샤오미";
    	
    	// 계산하는 기능
    	public void exec()  {
    		System.out.println("계산해요!");
    	}
    	
    }

     

    package test.main;
    
    import test.mypac.Calculator;
    
    //1 . 객체를 생성하는데 필요한 클레스 import
    
    
    public class MainClass01 {
    	public static void main(String[] args) {
    		/*
    		 * 만일 프로그래밍의 못적이 '계산' 이라면?
    		 * 
    		 * -계산기능을 수행할수 있는 객체가 필요하다
    		 * -계산기능을 수행할수 있는 객체를 생성해서 heap 영역에 올리고
    		 * -참조값을 이용해서 계산을 해야한다.
    		 */
    			
    		//2. 객체를 생성한다
    		//Calculator cal=new Calculator();
    		Calculator cal=new Calculator();
    		//Calculator 객체의 exec() 메소드 호출하기
    		cal.exec();
    		cal.exec();
    		cal.exec();
    		
    		//Calculator 객체의 brand 필드 참조하기
    		String a=cal.brand; // 참조된 값을 변수에 대입하기
    	}
    }
    
    <console>
    계산해요!
    계산해요!
    계산해요!

    부모 class인 Calculator class를 받아와 cal이라는 변수명으로 새로운 객체를 생성하였다.

    새로운 객체를 생성하면 부모 class인 Calculator의 메소드를 사용할 수 있게 된다.

    a 라는 변수명에 brand라는 필드를 대입한 것으로, 호출하게 되면 "샤오미"가 호출된다.

     

     

    Car class를 생성하였다.

    package test.mypac;
    
    public class Car {
    	//필드
    	public String name="소나타";
    	
    	//기능(메소드)
    	public void drive() {
    		System.out.println("부릉 부릉~!!!!!!!");
    	}
    }

     

    package test.main;
    
    import test.mypac.Car;
    
    public class MainClass02 {
    	public static void main(String[] args) {
    		// 달리고 싶다~ 어떻게 하면 달릴 수 있을까?
    		Car ca = new Car();
    		ca.drive();
    		ca.drive();
    		ca.drive();
    		
    		// 위에서 달린 차의 이름을 carName 이라는 지역변수에 담아 보세요.
    		String name=ca.name;
    	}
    }
    
    <console>
    부릉 부릉~!!!!!!!
    부릉 부릉~!!!!!!!
    부릉 부릉~!!!!!!!

    Car class를 상속받아 ca라는 변수명으로 새로운 객체를 생성하였다.

    상속받았으므로 Car class의 메소드를 사용할 수 있다. 똑같이 name이라는 변수명을 만들고 그곳에 Car 객체의 필드를 넣을 수도 있다.

     

     

     

    댓글

Designed by Tistory.