반응형

중급 개발자라면 알아야 할 내용들을 한번 더 정리 해봅시다 ㅎㅎ

저 또한 아직 부족함이 많은 사람임을 알기에 정리하며 저도 공부하고자 합니다 

 

저번에는 Object와 String관련 내용, 박싱 언박싱을 알아보았는데 

중급 개발자라면 당연히 알아야 하는 여러가지 클래스를 더 알아봅시다 

 

Math

수학 계산을 위한 클래스로 이 클래스는 생성자의 접근제어자가 private이기 때문에 

new 키워드로 객체를 생성 할 수 없습니다 하지만 메서드들이 static 이므로 

객체 생성 없이 사용가능한거죠 ㅎㅎ 

쉽기도 또는 어렵기도 한 이 클래스의 유용한 메서드들을 살펴봅시다

		int i = Math.max(1, 3);				//3
        
        int j = Math.min(20,  2);			//2
        
        System.out.println(Math.abs(-10));	//10

        System.out.println(Math.random());	//랜덤한 수 
        
        System.out.println(Math.sqrt(25));	//5.0

min max는 아시겠죠?ㅎㅎ 그리고 abs는 절대값을 나타냅니다 

음수를 정수로 바꾼다고 생각하세용 

그리고 random메서드는 0부터 1까지의 랜덤한 수를 리턴합니다 

sqrt는 루트값을 리턴하구요 ㅎㅎ 

 

Java Annotation

구글에 검색 시 소스코드에 추가 하여 사용할 수 있는 메타데이터 일종이라고 나옵니다

어려운 설명이기에 간단히 설명 해보겠습니다 우리가 java코드를 작성하면서 간혹 필요한것이 설정 파일의 내용들이 필요합니다 이것을 따로 설정파일 필요없이 애너테이션으로 대처할 수 있습니다 관리가 용이하죠 다른 파일을 찾을 필요없이 애너테이션으로 대체 하니까요 종류는 3가지 정도가 있습니다 표준, 메타, 사용자정의

 

먼저 표준에서 대표적으로 쓰이는 것을 나열하자면

@Override

오버라이드는 컴파일러가 오버라이딩 올바르게 했는지 확인합니다 

@Deprecated

앞으로 사용을 권장하지 않는 필드 및 메서드에 붙여줍니다 ㅎㅎ 

소스코드 보다보면 hi() 보셨죠  바로 이겁니다 ㅎㅎ 

@SuppressWarnings

컴파일러의 경고 메시지가 안나오게 합니다 ㅎㅎ 

정상적으로 코드를 작성해도 컴파일러가 불안하면 띄웁니다 ㅋㅋㅋ 

예를 들어 제네릭 안쓰면 가끔 뜹니다 ㅎㅎ 

 

다음은 메타 입니다

@Retention

이 애너테이션의 유지기간을 설정합니다

SOURCE는 소스파일에만 적용하고 RUNTIME은 클래스파일에 적용합니다 

@Inherited

자식 클래스에 상속할때 붙입니다 ㅎㅎ

 

사용자 애너테이션 입니다 

만들기는 간단한데 저는 사실 만들어서 써본적은 없네요 ㅎㅎ

간단하게 만드는 구문만 보고 넘어가도록 합시다 ㅎㅎ

@interface 네임{

    타입 요소 이름();

}

이런식으로 작성합니다 ㅎㅎ

 

사실 쓰면 편한것이지만 안쓰면 나만손해 이런 느낌이라 ㅎㅎ 공부하고 정리하게 되었습니다

감사합니다 

반응형

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

[java]I/O  (0) 2022.10.12
[java]Stream  (1) 2022.10.04
[java]자바 중급 개념정리1  (0) 2022.09.29
[java]Stack클래스  (0) 2022.09.28
[java]Arrays클래스  (0) 2022.09.27
복사했습니다!