JAVA 시작하기 - 객체지향 프로그래밍

Big Jay·2023년 7월 24일
0

Java 시작하기

목록 보기
9/14
post-thumbnail

객체지향 프로그래밍(OOP)

컴퓨터 프로그래밍의 패러다임 중 하나로 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 객체들의 모임으로 파악하고자 하는 것

객체지향의 장점

  1. 프로그램을 유연하고 변경이 쉽게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다.
  2. 소프트웨어 개발과 보수를 간편하게 한다.
  3. 직관적인 코드 분석을 가능하게 한다.

객체지향의 특징

객체 지향 프로그래밍에서 일반적으로 추상 자료형을 클래스, 추상 자료형의 인스턴스를 객체, 추상 자료형에서 정의된 연산을 메소드(함수), 메소드의 호출을 생성자라 한다.

1. 자료 추상화

불필요한 정보를 숨기고 중요한 정보만을 표현함으로써 자료 추상화를 통해 정의된 자료형을 추상 자료형이라 한다.

2. 상속

새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능
기존 클래스를 상속받은 하위 클래스를 이용해 프로그램의 요구에 맞추어 클래스를 수정할 수 있고 클래스 간의 종속 관계를 형성함으로써 객체를 조직화 할 수 있다.

상속을 받는 새로운 클래스를 부클래스, 파생 클래스, 하위 클래스, 자식 클래스라고 하며 새로운 클래스가 상속하는 기존 클래스를 기반 클래스, 상위 클래스, 부모 클래스라 한다.

3. 다중 상속

클래스가 2개 이상의 클래스로부터 상속받을 수 있게 하는 기능으로 클래스들의 기능이 동시에 필요할 때 용이하나 클래스의 상속 관계에 혼란을 줄 수 있고 프래그래밍 언어에 따라 사용 가능 유무가 다르다. (자바는 지원X)

4. 다형성 개념

어떤 한 요소에 여러 개념을 넣어 놓는 것으로 일반적으로 오버라이딩이나 오버로딩을 의미하며 다형 개념을 통해서 프로그램 안의 객체 간의 관계를 조직적으로 나타낼 수 있다.

5. 동적 바인딩

실행 시간 중에 일어나거나 실행 과정에서 변경될 수 있는 바인딩으로 컴파일 시간에 완료되어 변화하지 않는 정적 바인딩과 대비되는 개념이다.

참고

profile
안녕하세요.

2개의 댓글

comment-user-thumbnail
2023년 7월 24일

좋은 정보 얻어갑니다, 감사합니다.

1개의 답글