본문 바로가기
개발 이론/Java

Java 기본 헷갈리는 문법(1)

by dal_been 2023. 3. 22.
728x90
System.arraycopy

System.arraycopy(oldstrArray,0,newStrArray,0,oldStrArray.length)

---> oldStrArray 인덱스 0에서부터 newStrArray 0에서부터 oldStrArray.length만큼 복사

 

return
	void run() {
		while(true) {
			if(gas>0) {
				System.out.println(gas);
				gas=1;
			}else {
				System.out.println(gas);
				return;
			}
		}

 

while 뒤에 또 다른 메소드가 있다면 break;를 넣어야함

(return는 메소드 자체를 종료시킴)

 

정적메소드

인스턴스필드 + 인스턴스 메소드 + this(객체자신참조)키워드 사용불가

 

if 사용하고 싶다면 객체생성후 가능(main() 메소드와 동일 규칙)  --->  클래스 obj 안에 인스턴스 field1과 method가 있을때

static void volume() {
		Class obj = new Class();
		obj.field1=10;
		obj.method();
	}

 

 

싱글톤

-전체 프로그램에서 단 하나의 객체만 만들고 싶을때 => 클래스 외부에서 new 연산자로 생성 호출 막기

 

class Pra1 {
	
	private static Pra1 singleton= new Pra1();
	
	private Pra1(){};
	
	static Pra1 getInstance() {
		return singleton;
	}
	

}

class main{
	
	//Pra1 a = new Pra1();  에러
	
	Pra1 b= Pra1.getInstance();
	Pra1 c= Pra1.getInstance();
}

Pra1 b와 Pra1 c 는 동일 객체 참조( b==c )

 

부모생성자와 자식 생성자

-부모클래스에 기본생성자 없고 매개변수가 있는 생성자만 있으면 => 자식생성자에게 반드시 부모생성자 super(~~~) 호출

class People {
	String name;
	String ssn;
	
	public People(String name, String ssn) {
		this.name=name;
		this.ssn=ssn;
	}
}

class Student extends People{
	
	int Studentno;

	public Student(String name, String ssn, int studentno) {
		super(name, ssn);
		Studentno = studentno;
	}
	
	
}

 

 

변환
	 //기본타입값 => 문자열
	 String str1= String.valueOf(10);
	 
	 //박싱
	 Integer obj1= new Integer(100);
	 Integer obj2= new Integer("100");
	 Integer obj3= Integer.valueOf("300");
	 
	 
	 //언박싱
	 int value=obj1.intValue();
	 
	 //문자열 => 기본 타입값
	 byte num= Byte.parseByte("10");

 

'개발 이론 > Java' 카테고리의 다른 글

Java 기본 헷갈리는 문법(3)  (0) 2023.03.23
Java 기본 헷갈리는 문법(2)  (0) 2023.03.22