Oop
Object Oriented Programming (OOP)
OOP (객체 지향 프로그래밍)의 Java의 대표 특성이기도 하다. 여기서 객체란 하나의 역할을 수행하는 매소드와 변수의 묶음이다. OOP의 특징은 다음과 같이 있다.
- Abstraction
Abstraction(추상화)란 필요한 부분, 중요한 부분을 하나의 개념으로 통합한다는 것이다. - Encapsulation Encapsulation(캡슐화)란 클래스에 정의된 멤버 변수를 감싸서 외부에 노출 시키지 않는 다는 의의가 있다. (Protected, Private - Private는 클래스 내에서 접근 가능, Protected는 자식 클래스에서 접근 가능)
- Inheritance
상속이라는 개념이며 객체들 간의 관계를 구축한다. 상속을 통해 코드를 재사용 할 수 있다. (Java에서 extends를 사용) - Polymorphism 다형성으로 부모의 매서드를 받아 자신의 역할에 맞게 활용할 수 있다. (Overriding, Overloading - 오버로딩은 매서드가 같은 이름을 갖고 있으나 다른 인자를 받음, 오버라이딩은 같은 함수를 하위 클래스에서 재정의 하는 것)
OOP는 SOLID를 따른다고 하는데, 추후에 또 적어보겠다!
Reference
https://hwan-shell.tistory.com/226
https://www.guru99.com/java-data-abstraction.html