티스토리 뷰
반응형
OOP (Object-Oriented Programming)
객체 지향적인 프로그래밍. 즉, C언어같은 절차 지향적인 프로그래밍이 아닌 객체의 관점에서 프로그래밍을 한다는 것이다.
OOP는 객체를 기준으로 코드를 나누어 구현한다. 자바의 경우 그 구성 부분 단위가 클래스이다. 자세히 말하자면 클래스는 설계도고 직접일을하는 구현체는 인스턴스다.
- OOP는 객체의 관점에서 프로그래밍 하는 것을 의미한다.
- C언어는 절차 지향 프로그래밍인데, 절차 지향 프로그래밍은 프로세스가 함수 단위로 순서대로 진행되는 것을 말한다.
- OOP는 절차지향에 비해서 사람의 사고방식과 더 가깝다.
- OOP는 객체들의 유기적인 관계를 통해서 프로세스가 진행된다.
- 애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍 하는 것을 말한다.
OOP 특징
캡슐화 (Encapsulation)
-
하나의 객체에 대해 그 객체가 특정한 목적을 위한 필요한 변수나 메소드를 하나로 묶는 것을 의미한다.
-
따라서 클래스를 우리가 만들 떄 훗날 이 클래스에서 만들어진 객체가 특정한 목적을 잘 수행할 수 있도록 사용해야할 변수와 그 변수를 가지고 특정한 액션 즉 메서드를 관련성 있게 클래스에 구성해야한다.
- 정보은닉
유저 정보를 가지고 있는 User라는 객체에서 유저의 정보가 public으로 선언되어 있다면, 누구든 접근해서 유저 정보를 변경할 수 있다. 그렇기 때문에 private로 해서 데이터를 보호해서 접근을 제한해야한다.
이렇게 보호된 변수는 getter나 setter 등의 메서드를 통해서만 간접적으로 접근이 가능하도록 하는 것이 캡슐화의 중요한 목적이다.
추상화 (Abstraction)
- 추상화는 목적과 관련이 없는 부분을 제거하여 필요한 부분만을 표현하기 위한 개념
Q . Abstract vs implements ? (링크 달것)
다형성(Polymorphism)
- 다형성은 상속을 통해 기능을 확장하거나 변경하는 것을 가능하게 해준다. 즉, 다형성은 형태가 같은데 다른 기능을 하는 것을 의미
상속성, 재사용(Inheritance)
-
상속이란 기존 상위클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있게 도와주는 개념이다.
-
기존 클래스에 기능을 가져와 재사용할 수 있으면서도 동시에 새롭게 만든 클래스에 새로운 기능을 추가할 수 있게 만들어 준다.
- 자바에서는 상속대상은 하나만 지정 가능하다.
- (단일 상속) -> 단일 상속의 문제점을 보완하기 위해 인터페이스(다중 상속)가 존재
- 부모 클래스가 자식 클래스에게 맞게 설계되어 있지 않은경우에는 상속된 일부 메속드를 자식 클래스에서 다시 수정에서 사용하야한다. 자바는 이런경우를 위해 메소드 오버라이딩(@Override) 기능을 제공한다.
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA] 객체 복제 clone() (0) | 2021.03.23 |
---|---|
[JAVA] 오버로딩(Overloading) VS 오버라이딩(Overriding) (0) | 2021.02.24 |
[JAVA] Thread 스레드 개념 (0) | 2021.02.22 |
[JAVA] 생성자 Constructor (0) | 2021.02.22 |
[JAVA] static 메소드 (0) | 2021.02.22 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker
- 알고리즘
- 자격증
- Matlab
- 프로그래머스
- 디자인패턴
- interview
- Spring
- Algorithm
- 매트랩
- spring-cloud
- OOP
- 백준
- 스프링부트
- java
- JPA
- ajax
- nginx
- Solid
- springboot
- CS
- kakao
- 면접
- 수학
- 자바
- 스프링
- 그래프
- C언어
- 릿코드
- security
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함