6.1 객체 지향 프로그래밍
부품에 해당하는 객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법
*객체 모델링 : 현실 세계의 객체를 소프트웨어 객체로 설계하는 것 = 현실 세계 객체의 대표 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정
객체 간의 관계
1. 집합 관계 : 완성품과 부품의 관계 (예: 자동차 - 부품들(엔진, 타이어, 핸들 등) )
2. 사용 관계 : 다른 객체의 필드를 읽고 변경하거나 메소드를 호출하는 관계 (예: 사람 - 자동차(운전하기) )
3. 상속 관계 : 부모와 자식의 관계, 부모의 특징을 물려받음 (예: 기계 - 자동차)
객체 지향 프로그래밍의 특징
1. 캡슐화
: 객체의 데이터, 동작을 하나로 묶고 실제 구현 내용을 외부에 감추는 것 [접근 제한자 사용]
- 외부 객체는 객체 내부의 구조를 알 수 없고, 객체가 노출해 제공하는 필드, 메소드만 이용 가능
(+) 외부의 잘못된 사용으로 인해 객체가 손상될 것을 방지
2. 상속
: 부모 객체는 자신의 필드와 메소드를 자식 객체에게 물려줘 사용할 수 있게 함
(+) 코드의 재사용성 - 중복 코딩 방지
(+) 유지 보수 시간 최소화 - 한 번의 수정으로 나머지에 다 적용됨
3. 다형성
: 사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질
// 자동차에 어떤 타이어를 장착하느냐에 따라 주행 성능이 달라짐 st
6.2 객체와 클래스
객체를 생성하려면 설계도에 해당하는 클래스가 필요함
클래스로부터 생성된 객체 => 해당 클래스의 인스턴스
6.3 클래스 선언
클래스 선언 : 객체 생성을 위한 설계도를 작성하는 작업
(생성자, 필드, 메소드 정의)
public class 클래스명 {
}
*첫 문자는 숫자가 될 수 없고, &, _ 포함 가능
(1) 실행 클래스 : main() 메소드를 가지고 있는, 실행 가능한 클래스
(2) 라이브러리 클래스 : 실행할 수 없으며 다른 클래스에서 이용하는 클래스
6.4 객체 생성과 클래스 변수
객체 생성 연산자 new => 객체 생성 후 객체의 주소 리턴
클래스 변수 = new 클래스();
'언어 > java' 카테고리의 다른 글
[Java] 6. 클래스 (2) - 5~7 (0) | 2025.03.22 |
---|---|
[Java] 5. 참조 타입 (3) - 7~10 (2) | 2025.03.16 |
[Java] 5. 참조 타입 (2) - 5~6 (1) | 2025.03.16 |
[Java] 5. 참조 타입 (1) - 1~4 (0) | 2025.03.16 |