Java

Java Class

sounglikane 2024. 9. 4. 12:04

 

 

객체(Object)의 개념

객체는 현실 세계의 개념을 소프트웨어로 모델링한 것입니다. 예를 들어, 자동차, 사람, 책 등을 객체로 표현할 수 있습니다. Java에서 객체는 메모리에 생성되어 프로그램에서 사용되며, 객체는 상태와 행동을 가지게 됩니다.

  • 상태(State): 객체의 속성을 나타내며, 필드(Field or variable(변수))로 표현됩니다.
  • 행동(Behavior): 객체가 할 수 있는 동작을 나타내며, 메서드(Method or function)로 표현됩니다.

Class 개념

  • 클래스 (Class): 객체를 생성하기 위한 만드는 것입니다.
  • 필드 (Field): 클래스나 객체(Instance, 인스턴스)의 데이터를 저장하는 변수입니다.
  • 메서드 (Method): 객체의 동작을 정의하는 함수입니다.

 

Class 'Car'와 Fields(Car의 객체 Data)

 

 

Class 'Car'의 'Methods

 

객체의 생성 (Instance화)

 

Instance Member와 Class Member 비교

특징 Instance Member Class Member (정적 Member)
연결 대상 특정 클래스의 인스턴스에 연결됨. 클래스 자체와 연결됨, 특정 인스턴스와는 무관함.
Keyword 특별한 키워드 없음 (기본 동작). 'static' 키워드로 정의됨.
Memory 할당 각 인스턴스마다 인스턴스 멤버의 고유한 복사본이 생성됨. 하나의 복사본만 존재하며, 모든 인스턴스에 공유됨.
접근 방식 클래스의 인스턴스를 통해 접근. 클래스 이름이나 인스턴스를 통해 접근.
사용 예 색상, 모델과 같은 객체별 속성. 생성된 객체의 수와 같은 클래스 수준의 속성.
'this' keyword 사용 현재 객체를 참조하기 위해 this 사용 가능. 인스턴스와 연결되지 않으므로 this 사용 불가.

 

 

Overloading과 Overriding 비교

특징 Method Overriding Method Overloading
정의 서브클래스에서 슈퍼클래스의 메서드를 재정의. 동일한 클래스에서 동일한 이름을 가지지만 매개변수가 다른 여러 메서드 정의.
클래스 관계 상속 구조에서 부모 클래스와 자식 클래스 간에 발생. 하나의 클래스 내에서 발생.
메서드 시그니처(Method signature) 부모 메서드와 동일한 시그니처를 가져야 함. 매개변수의 타입, 개수 또는 순서가 달라야 함.
반환 타입 오버라이딩된 메서드는 동일한 반환 타입을 가져야 함. 동일하거나 다른 반환 타입을 가질 수 있음.
다형성 런타임(Runtime) 다형성을 지원. 컴파일타임 다형성을 지원.
어노테이션(Annotation) '@Override' 어노테이션을 사용하여 오버라이딩을 명시. 특별한 어노테이션이 필요 없음.

 

Overriding

 

Overloading

'Java' 카테고리의 다른 글

Java Error & Exception  (0) 2024.09.09
Interface, Default, Static, Polymorphism(다형성)  (0) 2024.09.09
Java (접근 제어자, 상속의 개념)  (0) 2024.09.05
Java 변수(Variable)  (0) 2024.09.03
Java 개념  (0) 2024.09.02