@Eeap
velog
@Eeap
전체 방문자
오늘
어제
  • 전체 (168)
    • osam (1)
    • Cloud (21)
      • Docker (2)
      • AWS (13)
    • AI & Data (7)
    • Algorithm (76)
      • Baekjoon (75)
      • Codeforces (1)
    • Language (18)
      • Java (18)
    • Back-end (17)
      • Spring (3)
      • JSP & Servlet (12)
      • Go (2)
    • 일상 (4)
    • 기타 (8)
    • git (1)
    • Infra (9)
      • Apache Kafka (5)
      • Kubernetes (4)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 티스토리챌린지
  • flink
  • knowledge bases
  • Agent
  • bedrock
  • bedrock api
  • sagemaker unified studio
  • AWS CodeStar
  • Python
  • converse api
  • bedrock agent
  • SageMaker
  • invokemodel api
  • AWS CodeCatalyst
  • AWS CodeArtifact
  • 심폴릭링크
  • java
  • 인터페이스
  • CLASS
  • 오블완

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
@Eeap

velog

Language/Java

Java 인스턴스 멤버와 정적 멤버

2022. 5. 10. 22:51
반응형
인스턴스 멤버

- 객체마다 가지고 있는 멤버 => 객체를 생성한 후 사용할 수 있는 필드와 메소드

public class Car {
	int gas;
	int speed;
	void setSpeed(int speed) {
		this.speed=speed;
	}
}
public class Test {

	public static void main(String[] args) {
		Car myCar = new Car();
		myCar.gas=10;
		myCar.setSpeed(60);
        //여기선 gas와 setSpeed를 인스턴스 멤버라고 할 수 있음
	}
}
this

- 객체 내에서 인스턴스 멤버에 접근하기 위해 사용

Car(String mode){
 this.model = model; //car클래스에는 이미 model field가 존재할 경우
}
void setModel(String model){
 this.model = model;
}
정적멤버

- 클래스에 고정된 멤버로서 객체 생성하지 않고 사용할 수 있는 필드와 메소드

- 정적 메소드 선언 시 그 내부에 인스턴스 필드 및 메소드와 this 키워드 사용 불가

- 정적멤버 접근시 인스턴스와 다르게 클래스로 접근해야함

public class Cal {
 static double pi = 3.14;
 static int plus(int x,int y){...}
}
//main 작성 code
double res1 = 10*Cal.pi;
int res2 = Cal.plus(10,5);

 

싱글톤

- 전체 프로그램에서 단 하나의 객체만 만들도록 보장하는 코딩 기법

* 싱글톤 작성 방법

  1. 클래스 외부에서 new로 생성자 호출하는 것을 방지하기 위해서 private 변수 사용
  2. 자신의 타입인 정적 필드 선언 후 자신의 객체 생성해 초기화
  3. 외부에서 호출할 수 있는 getInstance() 선언
  4. 정적 필드에서 참조하는 자신의 객체 리턴
public class Test{
 private static Test singleton = new Test();
 private Test(){}
 static Test getInstance(){return singleton;}
}
final 필드

- 초기값이 저장되면 최종값이 되어 프로그램 실행 도중 수정 불가

인스턴스 필드
-> 객체에 한번 초기화된 데이터를 변경 불가로 만들 경우
final 타입 빌드;   => final String ssn; //생성자에서 초기화

정적 필드
-> 불변의 값인 상수를 만들 경우
static final 타입 상수 = 초기값;  => static final double pi =3.14;
반응형
저작자표시

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

Java 상속  (0) 2022.05.22
Java 접근 제한자  (0) 2022.05.13
Java 메소드  (0) 2022.05.09
Java 객체와 클래스  (0) 2022.05.08
Java의 배열  (0) 2022.05.08
    'Language/Java' 카테고리의 다른 글
    • Java 상속
    • Java 접근 제한자
    • Java 메소드
    • Java 객체와 클래스
    @Eeap
    @Eeap

    티스토리툴바