Java/정리

객체 지향 언어

낭구리 2021. 8. 23. 14:16

 클래스(class)

클래스는 객체를 정의하는 설계도입니다.

클래스란? 현실 세상에 존재하는 대부분의 것들은 클래스로 표현할 수 있습니다.

​자전거 - 객체

바퀴 손잡이 몸체 - 상태

앞으로 전진 - 행위

객체 (Object)

객체란 클래스(설계도)를 통해 현실 세계에 뿌리내릴 수 있는 것을 말합니다.

아직 현실 세계에 존재 하지는 않지만 존재할 가능성이 있는 것을 객체라고 합니다.

사자 클래스를 정의하였습니다. 사자는 이 세계에 존재할 수 있는 객체(Object)입니다.

하지만 동물 클래스를 설계하고 이 세계에 뿌리내리게 하는 것은 불가능합니다. 왜냐하면 동물은 이 세계에 존재할 수 없는 것이기 때문입니다. 동물은 사자, 호랑이, 기린 같은 것들을 어우를 수 있는 포괄적인 개념입니다. 이런 것들은 실제 세상에 존재할 수 없기 때문에 객체가 될 수 없습니다. 동물 클래스는 추상적인 것입니다.

프로그래밍 세상에서 객체란 메모리(프로그래밍 세상)에 로드할 수 있는 것을 말하며 객체가 될 수 없다는 것은 메모리(프로그래밍 세상)에 로드할 수 없다는 뜻입니다.

객체 지향적 프로그래밍 설계란?

● 이름을 바로 잡는 일이다. 곧 대상 사물의 의미를 정확히 나타낼 수 있는 바른 이름(정명론)

"임금은 임금답고 신하는 신하답고 아버지는 아버지답고 자식은 자식답게[군군신신 부부자자] 되는 것입니다."

"학생은 학생 다워야 한다. "

▶ 합당한 이름을 붙이고 그 취지에 맞게 상태(변수)와 행위(메서드)를 정의하여 만들고 다른 객체들과 협력하거나 상호 작용하게 코드를 설계한다.

객체 지향 프로그래밍

 

클래스는 객체의 설계도 입니다

● 객체의 상태(속성)은 클래스의 멤버 변수(member variable)로 선언 함

● 학생 클래스

public class Student {

	int studentNumber;
	String studentName;
	int majorCode;
	String majorName;
	int grade;
}

● 주문 클래스

public class Order {

	int orderId;
	String buyerId;
	String sellerId;
	int productId;
	String orderDate;
}

● 회원 클래스

public class UserInfo {

	String userId;
	String userPassWord;
	String userName;
	String userAddress;
	int phoneNumber;
}

클래스 코딩하기

● 클래스는 대문자로 시작하는것이 좋음

● java 파일 하나에 클래스는 여러 개가 있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일함

● camel notation 방식으로 명명

 

'Java > 정리' 카테고리의 다른 글

멤버변수와 메서드  (0) 2021.08.25
함수와 메서드  (0) 2021.08.23
switch-case 문  (0) 2021.08.23
Break, Continue  (0) 2021.08.20
while문  (0) 2021.08.20