java017

제로·2022년 9월 14일
0

Java basic

목록 보기
16/45
post-custom-banner

인스턴스 멤버

  1. 객체(인스턴스)마다 가지고 있는 필드와 메서드
    • 이들은 각각 인스턴스필드, 인스턴스 메서드라고 부른다
      객체가 생성된 후에 사용할 수 있는 객체 소속 멤버
  2. 인스턴스 멤버는 객체에 소속된 멤버이기 때문에 객체가 없이 사용이 불가능하다
  3. this
    객체(인스턴스) 자신의 참조(번지)를 가지는 키워드
    객체 내부에서 인스턴스 멤버임을 명확히 하기 위해 this.사용
    매개변수와 필드명이 동일할 때, 인스턴스 필드임을 명확히 하기 위해 사용

정적멤버와 static

  1. 정적(static)멤버란?
    1) 클래스에 고정된 필드와 메서드 - 정적필드, 정적 메서드
    객체의 공유메모리, 클래스 소속멤버
    객체생성없이 사용 가능 ex)클래스명.정적멤버 = 데이터;
    2) 정적멤버는 클래스에 소속된 멤버
    - 객체 내부에 존재하지 않고, 메서드 영역에 존재
    - 정적 멤버는 객체를 생성하지 않고 클래스로 바로 접근해서 사용
  2. 정적 멤버 선언
    1) 필드 또는 메서드 선언할 때, static 키워드를 붙인다
    class 클래스명{
    static 타입 필드;
    static 리턴타입 메서드명(매개변수){}
    }
    cf) 클래스를 통해서 만들어지는 객체들은 다른 주소에 실제 메모리를 가지고 사용한다.
    객체의 static 변수는 특정한 클래스에서 생성된 객체에서 동일하게 사용할 수 있다. 객체가 공유하는 필드이기에 class 변수라고 한다.
    참조변수.static변수 ==> 클래스명.static변수
Building.drawingPay=3000000; // 객체 생성전에 클래스명.static변수로 사용가능

class Building{
	String loc; // instance변수 - 위치
	int siteCost;  // instance변수 - 부지비용
	static int drawingPay; // static변수 - 도면비용
	
	public Building(String loc,int siteCost) {
		this.loc=loc;
		this.siteCost=siteCost;
	}
    void showInfo() {
    	System.out.println(loc+"에 있는 타워");
    	System.out.println("도면비용: "+drawingPay);
    	System.out.println("부지비용: "+siteCost);
    }
}
   
profile
아자아자 화이팅
post-custom-banner

0개의 댓글