추상화

    [자바/JAVA] 프로그래밍 - 다형성 (Polymorphism) - 추상(abstract) - Interface

    추상클래스(abstract Class) : 일반필드 + 일반메소드 [+ 추상메소드] 인터페이스(interface) : only 상수필드 + 추상메소드 인터페이스 사용 전 Person Class package com.kh.chap02_abstractAndInterface.part02_basic.model.vo; public abstract class Person { private String name; private double weight; private int health; public Person() { } public Person(String name, double weight, int health) { this.name = name; this.weight = weight; this.health =..

    [자바/JAVA] 프로그래밍 - 다형성 (Polymorphism) - 추상(abstract)

    추상메소드 - 미완성된 메소드로 몸통부({})가 구현되어 있지 않은 메소드 추상클래스 - 미완성된 클래스 - 일반필드 + 일반메소드 [+ 추상메소드] => 추상메소드를 가진 클래스는 반드시 추상클래스로 명시 해야됨 * 추상메소드가 굳이 없어도 추상클래스로 만들 수 있음 언제사용되나요? > 개념적 : 단지 이 클래스가 미완성된 클래스다 라는걸 부여할 목적 => 덜 만들었을때 > 프로그래밍적 : 객체 생성이 불가 하게끔 라고자 할 때 * 추상메소드가 존재하는 추상클래스를 쓰는 이유 - 부모클래스에 추상메소드가 존재할 경우 자식클래스에서는 강제로 오버라이딩 해서 동일한 패턴의 메소드를 가지게 됨!! => 각 자식 클래스마다 실행시킬 내용은 다르지만 동일한 형태의 메소드로 구혔했으면 할 때 => 메소드 통일성 ..

    [자바/JAVA] 프로그래밍 - 클래스(Class) 1.추상화

    1. 객체지향언어 : "객체"를 "지향"하는 "언어"로 "객체 중심"으로 돌아간다고 생각하면 됨. *지양 => 좋지 않음 *지향 => 좋음 (추구한다.) 2. 객체 : 현실세계에 독립적으로 존재(목적이 있고 가치가 있고 의미가 있는)하는 모든 것들을 의미 (유형, 무형, 개념, ...) 현실세계에서는 객체들간의 상호작용으로 돌아감 (내가 물을 먹는다) 3. 객체지향 프로그래밍 : 현실세계의 객체들간의 상호작용 프로그래밍을 통해 가상세계로 구현하는 것 (내가 쇼핑몰에서 로그인 한다) 4. 구현하고자 하는 프로그램상의 필요한 객체들을 만들기 위해서(즉, 생성하기 위해서) : 클래스라는 틀을 먼저 만들어야됨!! (클래스란? 각 객체들의 속성(정보)들을 담아낼 그릇 같은 존재) => 이름,나이,주소,휴대폰번호 ..