[Java] 객체 지향 프로그래밍의 특징

연이·2022년 10월 7일
3

Java 기초

목록 보기
1/5

🌱 시작

  Tistory에서 velog로 기술 블로그를 변경하기로 마음 먹은 뒤 .. 어떤 글부터 옮길까 하다가 JAVA부터 옮기기로 했다 ! 아무래도 현재 백엔드 개발자 인턴으로서 JAVA와 Srping을 하고있기때문에 JAVA부터 옮기고 프론트엔드 관련 글들은 천천히 옮겨야지 !


⚡ 객체 지향 프로그래밍이란?

  객체지향프로그래밍(Object Oriented Programming)이란 컴퓨터 프로그래밍의 한 가지 기법으로 객체를 생성하고 사용하는 프로그래밍 방법이다.

  프로그램을 그저 데이터와 처리방법으로 나누는게 아닌 다수의 객체를 만들고 이들의 상호작용을 통해서 만들어지는 방식이다.

💡 객체 지향 프로그래밍 (OOP)의 특징


캡슐화

  캡슐화는 일반적으로 변수와 함수를 클래스로 묶는 작업을 말한다. private으로 정의하며 정보은닉이 가능하다는 장점이 있다.

상속

  상속이란 자식 클래스에서 부모 클래스로부터 부모의 모든 자원을 물려받는 것을 의미한다. 지정예약어인 extends에 의해서 정해진다. 하나의 부모 클래스가 여러 자식 클래스를 가질 순 있지만 반대의 경우는 불가능하다.

다형성

  다형성은 형태가 같은데 다른 기능을 하는 것을 의미한다.

  예전에 어디선가 본 예시가 있는데 , 예를 들어서 고양이 클래스에 "울음"이라는 속성이 정의되어있다고 한다면 사자도 같은 고양이과이기에 "울음"을 상속받는다. 이것이 앞에서 얘기한 상속이다.

하지만 실제로 사자와 고양이의 울음소리는 다르기 때문에 같은 "울음"이더라도 고양이는 "야옹" 사자는 "크아앙" 이렇게 운다.

이렇게 같은 속성을 상속받아도 기능이 다른 것을 다형성이라고 한다.

추상화

  추상화는 객체들의 공통적인 특징을 묶어서 하나의 클래스로 정의하는 것을 말한다.
예를 들어서 연어 초밥과 새우 초밥은 서로 다른 객체지만 초밥이라는 공통점이 있기 때문에 초밥이라는 클래스로 묶을 수 있다.

0개의 댓글