JAVA의 객체

Jungmin Lee·2021년 1월 5일
2

JAVA

목록 보기
3/4
post-thumbnail

🌻 객체

클래스와 객체

  • 클래스: 객체를 정의해 놓은 것, 객체를 생성하는데 사용
  • 객체: 실제로 존재하는 것(사물 또는 개념), 객체의 속성과 기능에 따라 용도가 다름
    • 속성과 기능으로 이루어져 있음
    • 속성은 변수로 기능은 메서드로 정의

생성자

  • 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드
  • 인스턴스 변수의 촉화 또는 인스턴스 생성시 수행할 작업에 이용
  • 몇가지 조건 제외하고 메서드와 같음
  • 모든 클래스에는 반드시 하나의 생성자 필요(없으면 default생성자가 알아서 만들어지고 생략됨)
  • 생성자 이름이 클래스이름과 같아야 하며 리턴값이 없다(근데 void안씀)
  • 오버로딩도 가능
  • 상수(final)의 초기화도 가능 이후수정안됨
클래스명(타입 면수명,...){
	//인스턴스 생성시 수행될 코드
  //주로 인스턴스 변수의 초기화 크드 적음
}
public class Card {
	String kind; // 카드종류
	int number;
	
//이게 생성자
	Card(String kind, int number){
		this.kind=kind;
		this.number=number;
	}
	Card(){
		this("spade",1);//다른 생성자 호출
	}
	
// 클래스변수: 모든 인스턴스가 하나늬 저장공가늘 공유하므로 항상 공통된 값을 갖는다
	static int width=100;
	static int height=250;
//메서드
	static void play() {
		System.out.println("카드놀이를 합니다");
	}
}

this()

  • 생성자에서 다른 생성자 호출하기
  • 같은 클래스의 다른 생성자를 호출할 때 사용
  • 다른 생성자 호출은 생성자의 첫 문장에서만 가능
  • 인스턴스 자신을 가리키는 참조변수
  • 인스턴스의 주소가 저장되어있음
  • 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재

클래스 메서드(static method)와 인스턴스 메서드

  • 인스턴스 메서드
    • 인스턴스 생성 후, ‘참조변수.메서드이름()’으로 호출
    • 인스턴스 변수나 인스턴스 메서드와 관련된 작업을 하는 메서드
    • 메서드 내에서 인스턴스 변수 사용가능
    • static멤버들은 공유하고있기 때문에 인스턴스 멤버 참조안됨
  • 클래스 메서드
    • 객체 생성없이 ‘클래스이름.메서드이름()’으로 호출
    • 인스턴스 변수나 인스턴스 메서드와 관련 없는 작업을 하는 메서드
    • 메서드 내에서 인스턴스 변수 사용불가(static멤버들은 공유하고있기 때문에 인스턴스 멤버 참조안됨→ 같은 맥락)
    • 메서드 내에서 인스턴스 변수를 사용하지 않는다면 static을 붙이는 것을 고려한다.

*클래스로 새로운 데이터 타입 생성

profile
금융 도메인과 개발 지식을 함께 쌓아가는 주니어 개발자입니다😊

0개의 댓글