자바(JAVA)

[Java] OOP 객체지향프로그래밍 개념

개쿠 2019. 6. 29. 12:04
728x90
반응형

 

OOP란?

흔히 말하는 OOP는 Object Oriented Programming의 줄임말로 객체지향 프로그래밍이다.

 

OOP의 특징 4가지

  • 캡슐화
  • 추상화
  • 다형성
  • 상속성

이러한 특징을 이용해

코드의 재사용성을 증가하고

유지보수를 쉽게 하기 위해 객체지향적으로 프로그래밍을 한다고 보면 된다.

 

캡슐화 (Encapsulation)

캡슐화란 쉽게 말하면 캡슐처럼 감싸는 개념이다.

객체의 변수, 메소드등 실제 구현 내용을 보이지 않게 감싸는 개념이다.

따라서, 외부 객체가 함부로 내부 객체를 건드리지 못하게 하는 것이다.

쉽게 예를 들자면 변수 앞에 private을 선언하는 것을 떠올리면 될 거 같다.

 

추상화 (Abstraciton)

추상화란 공통의 속성이나 기능을 묶어 이름을 붙이는 것이다.

쉽게 예를 들자면 삼각형, 사각형, 원이라는 객체가 있을 때

이 객체들을 하나로 묶을 때 객체들의 공통 특징인 도형으로 묶어 이름을 붙이는 것을 추상화라고 한다.

 

다형성 (Polymorphism)

하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다.

상위 클래스의 참조 변수가 하위 클래스의 객체를 참조하게 하는 것이다

오버로딩, 오버라이딩, 업캐스팅, 다운캐스팅, 인터페이스, 추상메소드, 추상클래스 방법이 있다고 생각하면 된다.

 

상속성 (Inheritance)

상위 클래스의 속성(변수)과 기능(메소드)을 (재사용하여(상속)) 하위 클래스가 전부 물려받는 것이다.

물려받은 거 외에 속성과 기능을 추가할 수 있다.

 

 

728x90
반응형