객체지향언어란?
: 절차적(순서대로) → 객체지향(코드의 재사용성을 높이고, 유지보수가 용이, 중복코드제거 기능)
프로그래밍언어 + 객체지향개념(규칙)이 추가됨.
핵심특징 ( OOP. Object Oriented Programming )
1. 캡슐화
2. 상속
3. 추상화
4. 다형성 ★
객체지향 개념의 규칙은
규칙이니까 그냥 외우자!! (A4용지 2장분량)
클래스의 정의
: 객체를 정의해 놓은 것
1. 설계도
2. 데이터 + 함수 ( 멤버변수 + 메서드 )
3. 사용자 정의 타입 ( 원하는타입을 직접만드는것 )
class Time { // 사용자가 원하는 입맛대로 만드는것 : 사용자정의타입
int hour;
int minute;
int second;
}
클래스의 용도
: 객체를 생성하는데 사용
객체의 정의
: 실제로 존재하는 사물 또는 개념.
객체의 용도
: 객체가 가지고 있는 기능과 속성 ( case by case )
비유) 당연히 ①설계도 만들고, ②제품을 만듬.
클래스 | 객체 |
제품설계도 | 제품 |
TV 설계도 | TV |
객체의 구성요소 ( 속성과 기능)
객체 = 속성(변수) + 기능(메서드)
TV 클래스 (설계도) 로 만든 객체(TV인스턴스) 라고 부른다. ( 객체 = 인스턴스) 같은말.
클래스 파일작성하기
: 기본은 1개의 클래스파일에는, 1개의 클래스만 들어가도록 하는것이 정석.
main 메서드를 수동 지정가능 ( 한클래스에 여러 클래스가 있을 때)
객체의 생성
클래스명 참조변수명;
참조변수명 = new 클래스명();
Tv t;
t = new Tv(); or Tv t = new Tv();
※ 참조변수(리모컨)를 통하여 객체를 사용
객체의 사용(호출)
t2 = t1; // t1에는 0x100 주소값이 저장되어있음
// 0x100 을 → t2에 대입
// t2참조변수(리모컨으로는) 이제 0x100 주소에 있는 객체만 사용가능하다.
※ 0x200에 더 이상 사용되지 않는 Tv객체는 '가비지 컬럭터'가 알아서 제거해준다.
객체배열
Tv tv1, tv2, tv3 ; ---------- > Tv[] tvarr = new Tv[3];
tvArr[0] = new Tv(); // tvArr[0]에 주소값이 들어감 (예) 0x200
tvArr[1] = new Tv(); // tvArr[1]에 주소값이 들어감 (예) 0x300
tvArr[2] = new Tv(); // tvArr[2]에 주소값이 들어감 (예) 0x400
출처 : 남궁성의 정석코딩
https://www.youtube.com/@MasterNKS
51~69 (19)
51~56
'Java의 정석' 카테고리의 다른 글
6장. 객체지향프로그래밍 (메서드) (0) | 2023.02.03 |
---|---|
6장. 객체지향프로그래밍 ( 변수의 종류 cv, iv, lv, 초기화 ) (0) | 2023.02.03 |
5장. 배열 (Arrays) (1) | 2023.02.03 |
4장. 조건문과 반복 (0) | 2023.02.03 |
3장. 연산자 (Operator) (0) | 2023.02.03 |