본문 바로가기

Application18

[Jump2Java] 05장 객체지향 프로그래밍 06 Jump2Java 05장. 객체지향 프로그래밍 - 다형성 - 추상클래스 다형성 하나의 객체가 여러개의 자료형 타입을 가질 수 있는 것 instanceof: 특정 객체가 특정 클래스의 객체인지를 조사할 때 사용되는 자바의 내장 키워드 public class Bouncer { public void barkAnimal(Animal animal) { if (animal instanceof Tiger) { // animal 객체가 new Tiger로 만들어진 객체인가? System.out.println("어흥"); } else if (animal instanceof Lion) { // animal 객체가 new Lion로 만들어진 객체인가? System.out.println("으르렁"); } } 인터페이스는 일반.. 2021. 9. 14.
[Jump2Java] 05장 객체지향 프로그래밍 05 Jump2Java 05장. 객체지향 프로그래밍 - 인터페이스 인터페이스 객체와 객체 사이에서 일어나는 상호 작용의 매개로 쓰인다. (서로 이어주는 다리 역할과 프로젝트의 설계도로 생각하면 됩니다.) 모든 기능을 추상화로 정의한 상태로 선언만 한다. public interface InterfaceName { // .. } 인터페이스의 사용 이유 (장점) 개발 시간을 단축 시킬 수 있습니다. 이러한 특징을 가진 인터페이스를 사용하면 다른 개발자들이 각각의 부분을 완성할 때 까지 기다리지 않고 서로 규약만 정해두어 각자의 부분만 따로 나눠서 작성된 코드를 컴파일 할 수 있습니다. 클래스간 결합도를 낮출 수 있습니다. 코드의 종속성을 줄이고 유지보수성을 높이도록 해줍니다. 표준화가 가능합니다. 클래스의 기본틀을.. 2021. 9. 14.
[Jump2Java] 05장 객체지향 프로그래밍 04 Jump2Java 05장. 객체지향 프로그래밍 - 생성자 - 생성자 오버로딩 생성자 메소드명이 클래스명과 동일하고 리턴 자료형이 없는 메소드를 생성자(Constructor)라고 말한다. 생성자 호출 시 입력 값을 전달해야 한다. public class HouseDog extends Dog{ // 생성자(Constructor) public HouseDog(String name) { this.setName(name); } public static void main(String[] args) { HouseDog houseDog = new HouseDog("Kkomi"); System.out.println(houseDog.name); } } 생성자 오버로딩 입력 항목이 다른 여러 생성자를 만들 수 있다. pub.. 2021. 9. 14.
[Jump2Java] 05장 객체지향 프로그래밍 03 Jump2Java 05장. 객체지향 프로그래밍 - 상속 - IS-A 관계 - 메소드 오버라이딩 - 메소드 오버로딩 상속 자식클래스 extends 부모클래스 자식클래스에 메소드 추가 // 자식클래스 extends 부모클래스 public class Dog extends Animal { public void Sound() { System.out.println(this.name + ": bark!"); } public static void main(String[] args) { Dog dog = new Dog(); dog.setName("Daengdaeng2"); System.out.println(dog.name); dog.Sound(); } } /* 출력결과 Daengdaeng2 Daengdaeng2: bar.. 2021. 9. 14.