[Java] 1 클래스-1. 객체 지향 프로그래밍/ 객체와 클래스
2601 단어 Java객체와 클래스객체 지향 프로그래밍Java
Java 를 공부하면서 어려운 개념을 다시한번 확인하고, 복습해보자!!
'객체 지향 언어' 에서 '객체'를 모르면 진짜 답없으니까 객체부터 차근차근
1. 객체 지향 프로그래밍
- 현실 세계에서 어떤 제품을 만들때 부품을 만들고 하나씩 조립하듯
객체(부품)를 만들고 하나씩 조립해서 완성된 프로그램을 만드는 기법
: OOP(Object Oriented Programming) 객체 지향 프로그래밍
1-1. 객체?
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것.
- 객체는 속성(필드, field)과 동작(메서드, method)으로 구성
- 현실세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링(Object Modeling)이라고 한다. 속성과 동작을 추려내어 필드와 메서드로 정의하는 과정.
1-2. 객체의 상호작용
- 객체들은 각각 독립적으로 존재, 다른 객체와 서로 상호작용을 하면서 동작.
- 객체들 사이의 상호작용 수단은 메서드
- 객체가 다른 객체의 기능을 이용하는 것 : 메서드 호출
- [객체.메서드이름] 으로 호출할 수 있다.
- 메서드를 실행하기 위해 매개값이 필요한 경우가 있다.
- 리턴값 : 메서드가 실행하고 나서 호출한 곳으로 돌려주는 값
int result = Calculator.add(10,20);
1-3. 객체 간의 관계
- 개별적으로도 사용될 수 있음
- 집합관계 : 하나는 부품, 하나는 완성품의 관계
- 사용관계 : 다른 객체의 메서드를 호출하여 원하는 결과를 얻어내는 관계, 사용하는 관계
- 상속관계 : 상위(부모)객체를 기반으로 하위(자식)객체를 생성하는 관계
2. 객체 지향 프로그래밍의 특징
- 캡슐화, 상속, 다형성
2-1. 캡슐화(Encapsulation)
- 객체의 필드, 메서드를 하나로 묶고, 실제 구현 내용을 감추는 것.
- 외부 객체는 객체 내부의 구조를 알지 못하고 객체가 노출해서 제공하는 필드와 메서드만 이용할 수 있음.
- 외부의 잘못된 사용으로 객체가 손상되지 않도록 하기 위해
- '접근제한자'(Access Modifier) 를 사용
2-2. 상속 (Inheritance)
- 상위(부모)객체가 하위(자식)객체에 가지고 있는 필드와 메서드를 물려주어 하위객체가 사용할 수 있도록 한다.
- 상위객체를 재사용해서 하위 객체를 쉽고 빨리 설계할 수 있다.
- 이미 잘 개발된 객체를 사용하므로 반복된 코드의 사용을 줄여준다.
- 유지보수시간 단축
2-3. 다형성 (Polymorphism)
- 같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 성질
- 하나의 타입에 여러 객체를 대입하면서 다양한 기능을 이용할 수 있도록 함
- 부모 클래스 또는 인터페이스의 타입 변환을 허용
- 부모 타입에는 모든 자식 객체가 대입될 수 있음.
3. 객체와 클래스
- 제품을 만들기 위한 설계도 = 클래스
- 클래스로부터 만들어진 객체 = 해당 클래스의 인스턴스 (instance)
- 클래스로부터 객체를 만드는 과정 : 인스턴스화
- 하나의 클래스로부터 여러개의 객체를 만들 수 있다.
- 클래스를 설계한다.
- 설계된 클래스를 가지고 사용할 객체를 생성한다.
- 생성된 객체를 이용한다.
Author And Source
이 문제에 관하여([Java] 1 클래스-1. 객체 지향 프로그래밍/ 객체와 클래스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yseonjin/Java-1-클래스-1.-객체-지향-프로그래밍-객체와-클래스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)