Java/Java 이론

[JAVA] 객채지향 언어

2주녘 2023. 7. 28. 12:41
반응형
Class (클래스)

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

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

Object(객체)

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

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

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

하지만 동물 클래스를 설계하고 이 세계에 뿌리내리게 하는 것은 불가능합니다.

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

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

 

객체 지향적 프로그래밍 설계란?
이름을 바로 잡는 일이다. 곧 대상 사물의 의미를 정확히 나타낼 수 있는 바른 이름(정명론)
"임금은 임금답고 신하는 신하답고 아버지는 아버지답고 자식은 자식답게[군군신신 부부자자] 되는 것입니다."
"학생은 학생 다워야 한다. "

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

 

클래스는 객체의 설계도
  • 객체의 상태(속성)은 클래스의 멤버 변수(member variable)로 선언함
  • 학생클래스

  • 주문 클래스

  • 회원 클래스

클래스 코딩하기
  • 클래스는 대문자로 시작하는 것이 좋다.
  • java 파일 하나에 클래스는 여러 개가있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일함
  • camel notation 방식으로 명명
반응형