개발자 항해
객체 지향 프로그램에 대해 본문
- 객체지향프로그램(Object-Oriented Programming : OOP)
객체를 기반으로 하는 프로그램으로 객체와 객체 간의 관계를 프로그래밍한 것이다.
예컨데 '사람'이라는 객체와 '밥'이라는 객체 사이에 일어나는 일인 '먹는다' 라는 행위를 프로그램으로 구현하는것이다.
절차지향언어에 비해 코드를 재사용과 유지보수가 용이하다는 장점이 있으나 처리속도가 느리고 설계하는데
많은 시간이 든다는 것이 단점이다.
JAVA가 대표적인 객체지향프로그램으로 JVM(java virtual machine : 자바가상머신)을 갖고있는게 특징이다.
그로인해 '한번 작성하면, 어디서든 돌아간다'는 슬로건처럼 자바로 프로그래밍하면 윈도우건 리눅스건 어떤 운영체제
에서도 구애받지 않고 잘 실행된다. 그리고 메모리를 직접 제어하지 않으므로 오류발생이 적어 프로그램이 안정적이
고 가비지 컬렉터(Garbage Collector)를 이용하여 메모리를 효율적으로 관리할수있다.
- 객체지향 4가지 특징
1) 추상화(Abstraction )
각각의 객체에서 공통적인 특성을 추출하는것이다.
예를들면 슈퍼맨,새,비행기 라는 서로 다른 객체를 '날다'라는 특징으로 묶을수 있다.
2) 캡슐화(Encapsulation)
코드와 데이터를 외부에서 접근할 수 없도록 정보 은닉을 하는 것이다.
접근제한자인 (public,private,protected)를 사용한다.
3) 상속(Inheritance)
부모 클래스의 특징을 자식클래스에서 상속받아 사용하는 것이다.
4) 다형성 (Polymorphism)
하나의 코드에서 다양한 형태의 실행결과가 나오는 것이다.
오버라이딩(Overriding)과 오버로딩(overloading)으로 구현될수 있다.
'Programming > Java' 카테고리의 다른 글
static - static 변수와 메서드1 (0) | 2022.06.22 |
---|---|
로컬변수와 멤버변수 (0) | 2022.06.22 |
생성자 오버로드 (0) | 2022.06.21 |
인스턴스 (0) | 2022.06.21 |
클래스-멤버변수와 생성자 (0) | 2022.06.20 |