'80년 초 소프트웨어의 위기 - 빠른 변화를 못쫓아감
-> 해결책으로 객체지향 언어를 도입 (절차적 -> 객체지향) (1960 simula 언어) / 절차적 : 순서대로 실행
코드의 재사용성이 높고 유지보수가 용이, 중복 코드 제거
객체지향 언어 = 프로그래밍 언어 + 객체지향개념 (규칙)
객체지향 언어의 핵심 개념 : OOP (Object-Oriented Programming)
1. 캡슐화
2. 상속
3. 추상화
4. 다형성
클래스와 객체
클래스의 정의 클래스란 객체를 정의해 놓은 것
클래스의 용도 클래스는 객체를 생성하는데 사용
객체의 정의 실제로 존재하는 것, 사물 또는 개념
객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다름
클래스 | 객체 |
제품 설계도 | 제품 |
TV 설계도 | TV |
붕어빵 기계 | 붕어빵 |
객체의 구성요소 - 속성과 기능
객체지향 : HW를 SW화 하기 위한 것 (실제 세계를 컴퓨터 세계로...?) / SW화 : 프로그램 (=코드)
객체와 인스턴스 (둘은 같은 용어라고 생각할 수 있음)
객체 : 모든 인스턴스를 대표하는 일반적 용어
인스턴스 : 특정 클래스로부터 생성된 객체 (ex: TV인스턴스)
(설계도) 인스턴스화 (제품생성) (제품)
클래스 -------------------------> 인스턴스(객체)
클래스와 객체
Q. 클래스가 왜 필요한가? (클래스 :설계도)
a. 객체를 생성하기 위해 (객체 : 제품)
Q 객체가 왜 필요한가? ( 객체 : TV)
a. 객체를 사용하기 위해
Q. 객체를 사용한다는 것은? ( 객체 : TV)
a; 객체가 가진 속성과 기능을 사용하려고 (속성:변수, 기능:메서드) / (메서드 = println() ...)
'자바의 정석 - 기초편' 카테고리의 다른 글
객체의 생성과 사용 (0) | 2022.08.03 |
---|---|
한 파일 여러 클래스 작성하기 (0) | 2022.08.03 |
Arrays로 배열 다루기 (0) | 2022.08.03 |
String 클래스 (0) | 2022.08.03 |
2차원 배열 & 예제 (0) | 2022.08.03 |