객체 지향 특성 : 캡슐화
● 캡슐화 : 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것
객체 지향 특성 : 상속
● 상위 개체의 속성이 하위 개체에 물려짐
● 하위 객체가 상위 개체의 속성을 모두 가지는 관계

● 자식 클래스가 부모 클래스의 속성 물려받고, 기능 확장
→ 부모 클래스 : 수퍼 클래스
→ 하위 클래스 : 서브 클래스, 수퍼 클래스를 재사용하고 새로운 특성 추가
객체 지향 특성 : 다형성 ★
● 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현
1) 메소드 오버로딩 : 같은 이름이지만 다르게 작동하는 여러 메소드
2) 메소드 오버라이딩 (상속받은 메소드를 재정의): 슈퍼클래스의 메소드를 서브 클래스마다 다르게 구현
객체 지향 언어의 목적 |
소프트웨어의 생산성 향상
컴퓨터 산업 발전에 따라 소프트웨어의 생명 주기(life cycle) 단축
소프트웨어를 빠른 속도로 생산할 필요성 증대
객체 지향 언어
상속, 다형성, 객체, 캡슐화 등 소프트웨어 재사용을 위한 여러 장치 내장
소프트웨어 재사용과 부분 수정 빠름
소프트웨어를 다시 만드는 부담 대폭 줄임
소프트웨어 생산성 향상
클래스와 객체 |
클래스
¤객체를 만들어내기 위한 설계도 혹은 틀
¤객체의 속성(state)과 행동(behavior) 포함
객체
¤클래스의 모양 그대로 찍어낸 실체
n프로그램 실행 중에 생성되는 실체
n메모리 공간을 갖는 구체적인 실체
n인스턴스(instance)라고도 부름
사례
¤클래스: 소나타자동차, 객체: 출고된 실제 소나타 100대
¤클래스: 사람, 객체: 나, 너, 윗집사람, 아랫집사람
¤클래스: 붕어빵틀, 객체: 구워낸 붕어빵들
클래스 구성 |

클래스 선언, class Circle
class 키워드로 선언
클래스는 { 로 시작하여 }로 닫으며 이곳에 모든 필드와 메소드 구현
class Circle은 Circle 이름의 클래스 선언
클래스 접근 권한, public
-> 다른 클래스들에서 Circle 클래스를 사용하거나 접근할 수 있음을 선언
필드와 메소드
→필드 (field) : 객체 내에 값을 저장하는 멤버 변수
→메소드 (method) : 함수이며 객체의 행동(행위)를 구현
필드의 접근 지정자, public
→필드나 메소드 앞에 붙어 다른 클래스의 접근 허용을 표시
→public 접근 지정자 : 다른 모든 클래스의 접근 허용
생성자
→클래스의 이름과 동일한 특별한 메소드
→객체가 생성될 때 자동으로 한 번 호출되는 메소드
→개발자는 객체를 초기화하는데 필요한 코드 작성
객체 생성 및 접근 |
객체 생성
★반.드.시 new ★키워드를 이용하여 생성
new는 객체의 생성자 호출
객체 생성 과정
객체에 대한 레퍼런스 변수 선언
객체 생성
→클래스 타입 크기의 메모리 할당
→ 객체 내 생성자 코드 실행
객체의 멤버 접근
객체 레퍼런스.멤버
'Coding > JAVA' 카테고리의 다른 글
[명품자바] 05장 상속 실습문제 5번/6번/7번 (0) | 2022.04.19 |
---|---|
[명품자바] 05 상속 개념/ 예제 (0) | 2022.04.19 |
[ while문 사용해서 숫자 맞추기 게임 만들기] (0) | 2022.04.05 |
JAVA_[반복문과 배열 예제 연습] (1) | 2022.03.29 |
java if-조건문/다중if문 예제 (0) | 2022.03.15 |