객체지향 언어? Object-oriented programming
객체지향 언어는 몇 가지 규칙을 이용해서 코드 간에 서로 관계를 맺어 유기적인 프로그램을 구성하는 것이다.
객체지향 언어의 주요 특징은 다음과 같다.
1. 코드의 재사용성이 높다.
- 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.
2. 코드의 관리가 용이하다.
- 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
3. 신뢰성이 높은 프로그래밍을 가능하게 한다.
- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며.
코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.
객체지향 언어의 가장 큰 장점은 '코드의 재사용성이 높고 유지보수가 용이하다.'는 것이며
이러한 객체지향 언어의 장점은 개발과 유지보수에 드는 시간과 비용을 절약한다는 것이다.
하지만 객체지향을 이해했다고 해서 자바의 객체지향적 장점들을 충분히 활용한 프로그램을
작성하기는 쉽지 않다.
너무 객체지향 개념에 얽매여 고민하지 말고 프로그램의 기능을 완성시킨 후
점차 객체지향적으로 코드를 개선할 수 있는 방법을 생각하고 개선해 나가는 것이 좋다.
이러한 경험들이 축적되어야 프로그램을 객체지향적으로 설계할 수 있는 능력이 길러지는 것이다.
1. 클래스와 객체 - (객체와 인스턴스, 객체의 구성요소, 인스턴스의 생성과 사용, 객체 배열)
2-1. 변수와 메서드 - (인스턴스변수, 클래스변수, 지역변수, 메서드)
2-2. 변수와 메서드 - (메서드의 호출, 메서드의 실행흐름, 재귀호출, 클래스 메서드, 인스턴스 메서드)
3. 오버로딩(overloading) - (오버로딩의 조건, 오버로딩의 장점, 가변인자)
4. 생성자(constructor) - (기본 생성자, 생성자에서 다른 생성자 호출, this(), this, 생성자를 이용한 인스턴스 복사
5. 변수의 초기화 - (명시적 초기화, 초기화 블록, 멤버변수의 초기화 시기와 순서)
6. 상속(inheritance) - (포함관계, 상속관계와 포함관계의 차이와 선택법)
7. 오버라이딩(overriding) - (오버라이딩 조건, 부모 멤버호출 super, 조상 클래스 생성자 super(), @Overridng)
8. package와 import - (패키지, import문의 선언, static import문)
9-1. 제어자(modifier) - (제어자란?, static, final, abstract)
9-2. 제어자(modifier) - (접근 제어자, public, protected, (default), private)
10. 다향성(polymorphism) - (참조변수 형변환, instanceof연산자, 참조변수 인스턴스 연결, 매개변수의 다형성, 여러종류의 객체를 배열로 다루기)
11. 추상클래스(abstract class) - (추상 클래스, 추상 메서드, 추상 클래스의 작성)
12. 인터페이스(interface) - (작성, 상속, 구현, 다형성, 인터페이스의 장점)
13. 내부 클래스(inner class) - (종류와 특징, 제어자와 접근성, 익명 클래스)
좀더 자세하고 깊이 있는 내용이 궁금하다면
각각 링크를 달아둘 것이니 관심이 있다면 링크를 타시라.👩💻
처음 자바를 공부할때도, 일을 할때도 객체지향의 개념에 대해서만
알고 있었지 이렇게 공부를 하려고 각잡고 앉아 있는건 처음이라
내가 쓰던게 이런거였구나를 알고 넘어갈수 있을거 같아 기대된다.😎
댓글