객체와 클래스의 구분법조류 bird = new 조류();의 경우를 생각해보자.조류 의 나이는 → 질문에 답하기 어려움 ⇒ 조류 는 클래스에 가까움bird 의 나이는 → 질문에 답하기 어려움 ⇒ bird 는 클래스에 가깝다.상속의 첫 예제public class Driver { public static void main(String[] args) { 동물 animal = new 동물(); 포유류 mammalia = new 포유류(); 조류 bird = new 조류(); 고래 whale = new 고래(); 박쥐 bat = new 박쥐(); 참새 sparrow = new 참새(); 펭귄 penguin = new 펭귄(); animal.showMe(); mammalia.showMe(); bird.showMe()..
위는 잘못된 예시 😮😮일반적인 상속과의 프로그래밍에서의 차이일반적인 상속의 개념에서 할아버지 -> 아버지 -> 아들 같은 혈통의 연속성을 흔히들 생각할텐데..OOP 에서는 상속은 이러한 것을 상속이라고 하지 않음올바른 상속의 이해동물 은 포유류의 부모나 상위 분류가 아님!!!!!동물이라는 큰 범주 내에서 포유류와 조류 같은 세부 분류가 있을 뿐임!OOP 에서의 상속은 상위 클래스의 특성을 하위 클래스에서 재사용하고, 필요한 특성을 추가로 확장하는 것을 말함.오해하기 쉬운 상속의 용어..클래스의 특성을 상속한다 표현에서 특성 을 누락하고 클래스를 상속한다 라고 오해한다고 합니다.이 결과 부모- 자식 관계 라는 잘못된 표현이 등장함.부모와 자식 클래스보다슈퍼 클래스 → 서브 클래스 라는 용어 혹은상위 클래스..
쥐 캐릭터를 통한 추상화쥐 캐릭터의 특성제리객체명: 쥐 캐릭터의 이름 → 제리성명: 제리국적: 미국나이: 75종교: 기독교친구: 톰여자친구: null꼬리: 1개…미키마우스객체명: 쥐 캐릭터의 이름 → 미키마우스성명: 미키마우스국적: 미국나이: 87종교: 무교신장: 70cm여자친구: 미니마우스행위 기준미키마우스달리다먹다휘파람…제리달리다먹다장난치다…추상화의 기준?클래스 설계나 모델링에서 중요한 것이다 추상화입니다애플리케이션 경계 내에서 중요한 특성만을 선택하는 것은 주관적입니다.이로 인해 설계자마다 다른 결과물이 나올 수 있습니다.추상화를 통해 얻어진 결과물을모델자바 언어에서는클래스 라고 합니다 T메모리 그려보기public class Mouse { public String name; public int ag..
추상화복잡한 현실 세계의 개체를 단순화시켜 컴퓨터 프로그래밍에서 표현할 수 있는 형태로 바꾸는 과정임클래스 라는 개념도 추상화의 결과물임차 라는 현실 개체가 있는 경우, 프로그램으로 표현하기 위해 필요한 핵심 속성과 기능만을 뽑아서 Car 클래스로 정의하는 것이 추상화모델링현실세계의 개체나 시스템을 단순화시켜 모형으로 만드는 과정임OOP 측면에서추상화를 통해 얻어진 클래스나 객체나 현실 세계의 모델로 불릴 수 있음.객체와 모델링객체 : 세상에 존재하는 유일무이한 사물객체의 구성은 다음 2가지로 구성됩니다.데이터(속성)해당 데이터를 처리하는 메서드(기능)이렇게 객체를 정의하는 과정 자체가 현실 세계의 개체를 모델링하는 것임.사람 이라는 개체의 속성이름나이성별 등기능걷다먹다말하다을 Person 이라는 클래스..
개요객체 지향 프로그래밍에서 중요한 개념 중 하나복잡한 현실세계의 문제를 간소화, 관련있는 특징만을 뽑아내어 프로그래밍에 적용추상화정의복잡한 것을 단순화하는 과정주어진 문제나 대상에서 핵심적인 특징이나 구조만을 추려내는 것추상화 그림 특징현실 세계의 대상이나 개체를 정확하게 표현하는 것이 아님핵심적인 특징 혹은 느낌 을 담아냄간혹 그림을 보고도 무엇인지 알아내기 힘든 경우가 있음객체지향에서의 추상화여러 가지 사물이나 개념에서 공통되는 특성이나 속성을 추출 혹은 파악이집트 화가들은 그 사람의 사실적 모습이 아니라 각 부분의 특징을 가장 잘 표현할 수 있도록 신체를 분해/결합하여 벽화를 그림실제 모습이 아닌 추상적인 모습을 그려서 그 인물의 특징을 더욱 정확하게 묘사하려고함 Uploaded by N2T
개요객체지향에는 중요한 4대 특성이 있음캡 상 추 다4대 특성캡슐화(Encapsulation)개념정보 은닉의 원칙에 따라 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 말함목적데이터의 접근을 제한하여 객체의 상태를 보호상속(Inheritance)개념기존의 클래스에 기능을 추가 + 변경하기 위해 사용되는 기능부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 것을 읨목적코드의 재사용과 확장성 향상을 위해 사용상속의 경우 솔직히 단순한 상속 의 개념이 아니다. 이와 관련된 내용은 다음 포스팅에 설명하겠다.추상화(Abstraction)개념복잡한 시스템을 간단한 개념으로 변환하는 과정목적모델링을 통해 복잡한 현실 세계의 객체를 소프트웨어 객체로 표현하기 위함다형성(Polymorphism)개념하나의 인터페..