객체지향 요약 PART1
by ash
<참고>
자바의정석 6장
1. 객체지향언어란?
-특징(캡상추다 - 캡슐화, 상속, 추상화)
- 기존 프로그래밍 언어와 비슷(몇가지 규칙 추가)
- 코드 재사용성 높음(상속)
- 코드 관리 쉬워짐
- 코드 중복 제거로 신뢰성 높은 프로그램 개발 가능
//1~4는 캡상추다의 세부적 장점 설명
-객체란?
- 변수+메서드의 집합//엄밀히말하면 ‘iv의 집합’
- 클래스라는 ‘설계도’로 만든 인스턴스
2. 클래스와 객체
-클래스란?
멤버변수(cv+iv)+메서드로 이루어진 객체 생성을 위한 설계도 Ex)Tv설계도 객체는 클래스를 통해 만들어진 실체 Ex)Tv
-객체생성방법
Tv t = new Tv();
3. 변수와 메서드
-변수종류
- iv : 인스턴스변수(멤버변수), 개별, 자동 초기화
- cv : 클래스변수(멤버변수), 공유, 자동 초기화
- lv : 지역변수, 수동 초기화
-클래스 변수와 인스턴스 변수(카드 예시)
섯다카드의 폭,높이(width, height)는 모두 같음. 그러나 종류,숫자(kind,num)은 다름
- cv : Ex)int width, int height, 공유
- iv : Ex)String kind, int num, 개별
-메서드
- method ≒ f(x)
- 재사용성, 중복코드제거율 UP
- 구조 : 선언부 + 구현부
- 리턴값이 없을 시 void
//반환값과 반환타입 일치해야 함(또는 자동형변환 가능하게)
public static test(int a,int b){ //선언부
int c = a+b //구현부
return c; //리턴값
}
-JVM 메모리 구조
- Method Area ->클래스 정보 저장
- Call Stack ->메서드 실행시 차례로 깔림, 순서랑 반대로 실행
- Heap -> 인스턴스 생성시 저장
-기본형 매개변수와 참조형 매개변수
- 기본형 매개변수(only read)
- 참조형 매개변수(read & wirte) cf)참조형 반환타입(copy하기) cf)재귀호출 Ex)factorial
-클래스메서드(cm)와 인스턴스메서드(im)
- im -> iv사용O + cv사용O(객체생성필요)
- cm -> iv사용X + cv only(객체생성불필요) / static 붙이기
- im은 iv관련 작업시 사용하는 메서드
- cm은 iv와 관련 없는 작업시 사용하는 메서드
4.오버로딩
-같은 의미의 메서드를 여러개 정의한 것(한 클래스 내) Ex)println( )
-오버로딩 조건
- 메서드명이 같아야 함
- 매개변수 타입, 개수 달라야 함
- 반환 타입은 상관 없음
5. 생성자
-생성자란?
객체 초기화 메서드(인스턴스 초기화 메서드)
-특징
- 생성자명==클래스명
- 리턴타입이 없다(void X)
- 첫줄에는 반드시 다른 생성자 호출해야 함 (this( ), super( ) 등 사용 / 안 넣으면 자동 super( ) 삽입)
- 클래스마다 최소 1개 이상 있어야 함(없을 시 컴파일 때 기본생성자 삽입)
-기본 생성자 : 매개변수 없는 생성자 -다른 생성자 호출 : 첫줄에 클래스 이름 대신 this( )사용 cf)this는 변수명 구별용 // Ex)this.color = color; (인스턴스변수=지역변수)
6. 변수의 초기화
-초기화 순서
- CV -> IV
- 자동->간단->복잡(초기화블럭, 생성자)
-기타
- 자동은 멤버변수 초기화
- 간단은 명시적 초기화
- 복잡은 초기화블럭(클래스초기화 블럭 -> 인스턴스초기화 블럭)
- 생성자 : 블럭이 생성자보다 우선
Subscribe via RSS