# 타입으로서의 클래스 사용법 타입으로서 클래스를 사용하는 방법이 궁금합니다.
## 답변 클래스 또한 하나의 타입으로서, 기본(primitives) 타입과 마찬가지로 사용하면 됩니다. 클래스 타입은 **레퍼런스 타입**(reference types)이라고도 합니다. ## 레퍼런스 타입의 특징 레퍼런스 타입은 아래와 같은 특징을 같습니다. - 대문자로 시작: `String`, `Scanner`, `ArrayList`, ... - 객체를 가리킴 - 자바에서 제공되는 클래스 뿐만 아니라, 사용자가 직접 만든 클래스 또한 타입으로 사용 가능. ## 코드 예 1) `String` 객체를 파라미터로 전달 ``` public class Main { public static void main(String[] args) { String str1 = "헬로"; // 문자열 객체를 str1에 연결 String str2 = "월드!"; // 문자열 객체를 str2에 연결 String result = concat(str1, str2); } public static String concat(String a, String b) { return a + ", " + b; } } ``` 2) 직접 만든 `Hero` 객체를 파라미터로 전달 ``` public class Main { public static void main(String[] args) { /* 두 영웅 인스턴스 생성 */ Hero a = new Hero("아서스", 50); Hero b = new Hero("레오나", 35); /* 아서스의 펀치 */ a.punch(b); } } class Hero { // 필드 String name; int hp; // 생성자 Hero(String s, int i) { name = s; hp = i; } // 펀치 메소드 void punch(Hero target) { System.out.printf("[%s]의 펀치!\n", name); System.out.printf("\t%s의 HP 감소: %d", target.name, target.hp); target.hp -= 10; System.out.printf(" -> %d\n", target.hp); } } ``` ## 참고자료 --- 1. https://goo.gl/Auo5Cs