본문 바로가기

Java/OOP

[Java/OOP] Java/OOP Concept

언어란 "의사소통"의 수단이며 기본이다.

OOP는 Object-Oriented Programming(객체 지향 프로그래밍)의 약자이다.

외부, 내부 구조

  • 전체적인 구조는 복잡하나, 내부구조는 단순하다.
  • 최초 구축시 힘드나, 추후 수정이 용이하다.

 

OOP의 컨셉

1) Polymorphism(다형성)

  • 하나의 인터페이스를 정의하고 여러가지 방법으로 구현(확장)을 할 수 있게 한다.
  • 언어의 다형성, 메소드 재정의
  • ex. Java에서 메소드 오버로딩(정적 다형성), 오버라이드(동적 다형성)

2) Encapsulation(캡슐화)

  • 외부 간섭으로 부터 데이터와 코드를 안전하게 유지해준다. 즉 사용자로부터 구현 세부 정보를 숨기는 것이다.
  • 정해진 규약(접근 제어자, 파라미터 등)을 통해서만 서로 통신할 수 있다. 
  • 외부 클래스는 다른 클래스의 변수에 접근할 수 없다.(getter, setter 메소드를 통해서 접근)

3) Inheritance(상속)

  • 상위 클래스의 기능을 재사용, 확장하는 방법이다.

4) Abstarction(추상화)

  • 메소드 시그니쳐를 먼저 선언하고 나중에 구현하는 방법이다.
  • ex. A클래스, B클래스, C클래스들 간에 공통적인 메소드를 추출해 만들어진 클래스

'Java > OOP' 카테고리의 다른 글

[Java/OOP] SOLID 원칙  (0) 2021.08.07