Burninghering's Blog
article thumbnail
CH01.객체지향
Spring 2022. 2. 18. 02:18

터미널에서 GUI로 넘어오면서 점차 프로그래밍이 복잡해지기 시작 함수를 활용하다 새로운 시각으로 프로그래밍 시작! 객체지향 현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정의, 절차적 X, 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계 이는 사물에 대해서 "객체" 해당 사물이 하는 행위 "메소드" 해당 사물이 가지는 속성 "변수" 장점 자바는 가비지 콜렉터로 자동으로 사용하지 않고 있는 메모리를 해제 JVM만 있으면 어떤 운영체제에서도 독립적으로 실행 가능하도록 설계 -> 여러 플랫폼에서 호환성을 제공하는 장점 객체의 3가지 요소 상태 유지(객체의 상태) 객체는 상태 정보 저장/유지되어야 하며 이러한 속성은 변수로 정의되어져야 함 속성값 바뀌면 객체 상태가 변경되어야 한다..

3-7.객체 지향 핵심 - 상속
JAVA 2022. 1. 21. 18:09

상속은 언제 사용 할까? 1. IS-A 관계(is a relationship : inheritance) -> 재활용(성능 개선) 일반적인(general) 개념과 구체적인(specific) 개념과의 관계 상위 클래스 : 하위 클래스보다 일반적인 개념 ( 예: Employee ) 하위 클래스 : 상위 클래스보다 구체적인 개념들이 더해짐 ( 예: Engineer, Manager...) 상속은 클래스간의 결합도가 높아지는 설계 상위 클래스의 수정이 많으면, 하위 클래스에 영향을 미칠 수 있음 계층구조가 복잡하거나 hierarchy가 높으면 좋지 않음 뼈대를 만들고, 다양한 확장이 필요하다면 IS-A 2. HAS-A 관계(composition) -> 내가 가져다씀 클래스가 다른 클래스를 포함하는 관계 ( 변수로 ..

article thumbnail
3-3.객체 지향 핵심 - 상속에서 클래스 생성 과정과 형 변환
JAVA 2022. 1. 15. 00:56

1. 하위 클래스가 생성 되는 과정 하위 클래스를 생성하면 상위 클래스가 먼저 생성 됨 new VIPCustomer()를 호출하면 Customer()가 먼저 호출 됨 클래스가 상속 받은 경우 하위 클래스의 생성자에서는 반드시 상위 클래스의 생성자를 호출 함 Customer.java public Customer() { customerGrade="SILVER"; bonusRatio=0.01; System.out.println("Customer() call"); } VIPcustomer.java public VIPcustomer() { bonusRatio=0.05; salesRatio=0.1; customerGrade="VIP"; System.out.println("VIPcustomer() call"); } ..

article thumbnail
3-1.객체 지향 핵심 - 객체 간의 상속
JAVA 2022. 1. 13. 22:01

객체 간의 상속은 어떤 의미일까? 1. 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속함 상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass 상속의 문법 class B extends A{ } extends 키워드 뒤에는 단 하나의 클래스만 올 수 있다. (자바는 단일 상속(single inheritance)만을 지원) 2. 상속을 구현 하는 경우 상위 클래스는 하위 클래스 보다..