728x90
라이브러리
특정 기능 또는 작업을 수행하는 함수, 클래스, 모듈 등의 모음이며, 코드의 재사용성과 모듈화를 촉진하기 위해 사용됩니다.
라이브러리를 사용하면 동일한 기능을 구현하는 반복적인 작업을 피하고, 효율적이고 안정적인 코드를 작성할 수 있습니다.
그렇다면 코드를 라이브러리화 한다는 것은 무슨 말일까?
일련의 코드를 재사용 가능한 형태로 패키지화하여
다른 프로그램에서 쉽게 사용할 수 있는 라이브러리(library)로 만드는 과정
문자열 관련 함수를 가진 코드를 라이브러리화하는 예시
라이브러리화 하기 전
public class StringHelper {
// 주어진 문자열을 역순으로 반환하는 함수
public static String reverseString(String str) {
StringBuilder reversed = new StringBuilder();
for (int i = str.length() - 1; i >= 0; i--) {
reversed.append(str.charAt(i));
}
return reversed.toString();
}
// 주어진 문자열이 회문인지 확인하는 함수
public static boolean isPalindrome(String str) {
String reversed = reverseString(str);
return str.equals(reversed);
}
public static void main(String[] args) {
String input = "hello";
String reversed = reverseString(input);
System.out.println("Reversed string: " + reversed);
String palindrome = "madam";
boolean isPal = isPalindrome(palindrome);
System.out.println("Is palindrome? " + isPal);
}
}
라이브러리화 한 후
public class StringHelper {
// 주어진 문자열을 역순으로 반환하는 함수
public static String reverseString(String str) {
StringBuilder reversed = new StringBuilder();
for (int i = str.length() - 1; i >= 0; i--) {
reversed.append(str.charAt(i));
}
return reversed.toString();
}
// 주어진 문자열이 회문인지 확인하는 함수
public static boolean isPalindrome(String str) {
String reversed = reverseString(str);
return str.equals(reversed);
}
}
라이브러리화된 코드는 'StringHelper.java' 와 같은 파일로 저장될 수 있음
다른 프로그램에서 라이브러리를 사용하기 위해, 해당 파일을 컴파일하여 '.class' 파일을 생성하고, 다른 Java 클래스에서 라이브러리를 임포트하여 사용할 수 있음
다른 프로그램에서 라이브러리 사용 예시
import mylibrary.StringHelper;
public class Main {
public static void main(String[] args) {
String input = "hello";
String reversed = StringHelper.reverseString(input);
System.out.println("Reversed string: " + reversed);
String palindrome = "madam";
boolean isPal = StringHelper.isPalindrome(palindrome);
System.out.println("Is palindrome? " + isPal);
}
}
라이브러리 사용
mylibrary - 라이브러리가 있는 패키지 이름을 나타냅니다.
실제로는 해당 패키지에 StringHelper.class 파일이 위치하고 있어야 합니다
728x90
'TIL' 카테고리의 다른 글
MongoDB 사용하기 - VScode 에서 mongoose 연결 error (0) | 2023.07.31 |
---|---|
오버헤드가 발생하는 상황 (0) | 2023.07.21 |
URL 작성 규칙 - 카노니컬 태그(Canonical Tag) (0) | 2023.07.14 |
SEO 란? 검색 엔진 최적화 - 구글 SEO 잘 활용하기 (0) | 2023.07.14 |
Apache Commons Collections - CamelKeyMap (0) | 2023.07.12 |