4. 절차 지향 프로그래밍과 객체 지향 프로그래밍
4.1 절차 지향 프로그래밍과 객체 지향 프로그래밍
1. 절차 지향 프로그래밍
-작업 순서를 표현하는 컴퓨터 명령 집합
-함수들의 집합으로 프로그램 작성
2. 객체 지향 프로그래밍
-프로그램을 실제 세상에 가깝게 모델링
-컴퓨터가 수행하는 작업을 객체들간의 상호 작용으로 표현
-클래스 혹은 객체들의 집합으로 프로그램 작성
5.객체 지향 언어의 특징
5.1 캡슐화
- 외부에서는 공개된 메소드의 인터페이스만 접근 가능
- 객체 내 데이터에 대한 보안, 보호, 외부 접근 제한 하는 것.
5.2 상속
- 상위 클래스의 특성을 하위 클래스가 물려받는 것
- 자바에는 다중 상속이 없음
- 따라서 인터페이스를 통해 다중 상속과 같은 효과 얻음
5.3 다형성
- 객체에 따른 다른 동작을 뜻함.
- 다형성은 오버라이딩과 밀접한 관계가 있음
5.4 클래스 및 객체
-클래스 : 객체의 공통된 특징 기술 ,객체의 특성과 행위 선언
-객체: 클래스의 인스턴스(실체), 객체는 new 키워드를 이용하여 생성
5.5 생성자 및 메소드
-생성자 : 클래스의 이름과 동일한 메소드 , 클래스의 객체가 생성될 때만 호출되는
메소드, 생성자도 오버로딩 가능, 리턴타입 지정할 수 없음, 하나 이상의 선언
à 디폴트 생성자: 클래스에 생성자가 하나도 선언되지 않은 경우 ,
컴파일러에 의해 자동으로 생성 ,
클래스에 생성자가 하나라도 존재하면 자동으로 기본 생성자가
생성되지 않음
-메소드: 함수, 모든 메소드는 반드시 클래스 안에 있어야 함(캡슐화 원칙)
5.6오버로딩(Overloading)
-한 클래스 내에서 두 개 이상의 이름이 같은 메소드 작성
-메소드 이름이 동일하여야 함
-인자가 개수 서로 다르거나, 인자 타입이 서로 달라야 함
-이름이 같고 인자의 개수나 타입이 모두 같은데,
리턴 타입이 다르면 오버로딩이 성립되지 않으며, 컴파일 오류 발생
5.7 this
- 자기 자신에 대한 레퍼런스를 뜻함. (현재 객체 자기 자신을 가리킴)
- 객체 자신을 메소드에 전달 또는 반환할 때 사용됨.
5.8 Garbage
-객체 소멸이란? new에 의해 생성된 객체 메모리를 자바 가상 기계에게 되돌려 주는 행위
-자바는 객체 삭제 기능 없음.
자바 가상 기계의 가비지 컬렉터가 자동으로 가비지를 수집하여 반환
-개발자가 System.gc(); 로 강제 가비지를 수행할 수 있기는 함.
5.9 접근 지정자
Default |
같은 패키지 내에서 접근 가능 |
Public |
패키지 내부, 외부 클래스에서 접근 가능 |
Private |
정의된 클래스 내에서만 접근 가능, 상속 받은 하위 클래스에서도 접근 불가(getter,setter 필요) |
Protected |
같은 패키지 내에서 접근 가능, 다른 패키지에서 접근은 불가능하나 상속받을 경우 하위클래스에서는 접근 가능 |
5.10 non-static 멤버와 static 멤버
1. non-static 멤버의 특성
-멤버들은 객체마다 독립적으로 별도 존재
-필드와 메소드는 객체 생성 후 비로소 사용 가능
2. static 멤버의 특성
-객체를 생성하지 않고 사용가능
-객체마다 생기는 것이 아님
-클래스당 하나만 생성됨
-클래스 멤버라고도 부름
-static 멤버들은 동일한 클래스의 모든 객체에 의해 공유
5.11 final
-상수를 정의할 때 사용
-상수 필드는 한 번 정의되면 값을 변경할 수 없다
ex) public static final double PI=3.141592;
'Language > Java' 카테고리의 다른 글
[자바 기본 개념] 오버라이딩/오버로딩 (0) | 2016.06.22 |
---|---|
[자바 기본 개념] 상속 / 상속특징/ 타입변환 (0) | 2016.06.22 |
[자바 기본 개념] 예외 처리/ 예외처리 종류 (0) | 2016.06.22 |
[자바 기본 개념] 배열이란 (0) | 2016.06.22 |
[자바 기본 개념] 반복문의 종류 (0) | 2016.06.22 |