본문 바로가기
언어/java

[Java] 6. 클래스 (1) 1~4

by 젼젼39 2025. 3. 22.

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