본문 바로가기

클래스

30 - 클래스 형변환 부모타입으로 자식 객체를 참조하게 되면, 부모가 가지고 있는 메소드만 사용할 수 있음. 자식객체가 갖고 있는 메소드를 사용하고 싶다면 형변환을 해야 함 public class Car{ public void run(){System.out.println("달리는 중");}} car 클래스를 상속받는 Bus 클래스public class Bus extends Car{ public void hooter(){System.out.println("빵빵");}} 부모 타입으로 자식 객체를 참조할 수 있음 - 부모타입으로 자식 객체를 참조하게 되면, 부모가 가지고 있는 메소드만 사용할 수 있음 public class BusExam{public static void main(String args[]){Car car = ne.. 더보기
28 - Super와 부모 생성자 class가 인스턴스화 될 때 생성자가 실행 되면서, 객체를 초기화 함. 그 때 자신의 생성자만 실행이 되는 것이 아니고, 부모의 생성자 부터 실행됨. Car 클래스public class Car{ public Car(){ System.out.println("Car의 기본 생성자"); } } Car를 상속 받는 Bus 클래스public class Bus extends Car{ public Bus(){ System.out.println("Bus의 기본 생성자"); } } 테스트 클래스public class BusExam{ public static void main(String args[]){ Bus b = new Bus(); } } - 상단의 결과는 "Bus의 기본 생성자" , "Car의 기본 생성자" 가 .. 더보기
27 - 추상 클래스 추상 클래스 구체적이지 않은 클래스를 의미 버스, 스포츠카는 구체적인 차를 지칭하는데 자동차, 새 이런 것은 구체적이지 않음, 이런 것을 구현한 클래스를 '추상 클래스'라고 함 추상 클래스 정의하기 - 추상 클래스는 클래스 앞에 'abstract' 키워드를 사용하여 정의- 추상 클래스는 미완성의 추상 메소드를 포함할 수 있음 (추상 메소드도 리턴 타입 앞에 'abstract' 키워드를 사용하여 정의)- 메소드가 하나라도 추상 메소드인 경우, 해당 클래스는 추상 클래스가 됨- 추상 메소드는 인스턴를 생성할 수 없음public abstract class Car{ public abstract void stop(); public void run(){ System.out.println("자동차가 앞으로 가는 중".. 더보기
자바 공부22 - 생성자 생성자모든 클래스는 인스턴스화 될 때 생성자를 사용 public class 클래스명 { 타입 필드명; //생성자 public 클래스명 (매개 변수 목록){ ..... } public 리턴 타입 메소드명 (매개 변수 목록){} 생성자의 특징 - 생성자는 리턴타입이 없음 - 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어 짐 - 생성자가 하나라도 프로그래머가 만들었다면 기본 생성자는 자동으로 만들어지지 않음 생성자의 역활 - 객체가 될 때, 필드를 초기화 하는 역활을 수행 - 자동차가 객체가 될 때, 반드시 이름을 가지도록 하려면, Car 클래스를 다음과 같이 만들어야 함 public class Car{ String name; int number; public Car.. 더보기
16 - 클래스 선언 클래스자바는 객체를 만들기 위해 반드시 클래스를 먼저 만들어야 함, 클래스는 객체를 만들기 위한 일종의 틀 - 붕어빵이 객체라면, 붕어빵은 클래스클래스란 객체를 정의한 것으로 객체의 모든 속성과 기능이 정의되어야 함클래스로부터 객체를 생성하면, 클래스에서 정의딘 속성과 기능을 가진 객체가 생성이 됨 클래스 생성 public class Car { // 차 속성 (멤버 변수)int carColor; // 차 색int carWheel // 차 바퀴 개수... // 차 기능 (메소드)public void carBrake() //브레이크public void carAxel() // 차 ... } Car 객체 생성하기 (자동차 만들기) public class CarTest { public static void mai.. 더보기