수강한 클립명
Object 클래스 - 2
Object 클래스 - 3
Class클래스 - 04. Class 클래스
코딩해 보세요
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.
완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.
미션 일정
방법
Object 클래스 - 2
toString()메서드
toString()메서드의 원형
getClass().getName()+'@' + Integer.toHexString(hashCode()) << toString메서드의 원형
객체의 정보를 String으로 바꾸어 사용할 때 유용함
자바 클래스중에는 이미 정의된 클래스가 많음
예 : String, Integer, Calendar등
많은 클래스에서 재정의하여 사용
--
equals()메서드
두 객체의 동일함을 논리적으로 재정의 할 수 있음
물리적 동일함 : 같은 주소를 가지는 객체
논리적 동일함 : 같은 학번의 학생, 같은 주문 번호의 주문
물리적으로 다른 메모리에 위치한 객체라도 논리적으로 동일함을 구현하기 위해 사용하는 메서드
equals()메서드
물리적으로 다른 위치에 있지만, 논리적으로는 같은 학생일을 구현해야함
--
hashCode()메서드
hashCode()메서드의 반환 값 : 인스턴스가 저장된 가상머신의 주소를 10진수로 반환
두 개의 서로 다른 메모리에 위치한 인스턴스가 동일하다는 것은?
논리적으로 동일 : equals()의 반환값이 true
동일할 hashCode 값을 가짐 : hashCode()의 반환 값이 동일
Object 클래스 - 3
clone()메서드
객체의 복사본을 만듦
기본 틀(prototype)으로 부터 같은 속성 값을 가진 객체의 복사본을 생성할 수 있음
객체지향 프로그래밍의 정보은닉에 위배되는 가능성이 있으므로 복제할 객체는 cloneable인터페이스를 명시해야 함
--
finalize()
소켓통신에서 필요한것, 인스턴스가 힙메모리에서 해지될때 가비지콜렉터에서 필요한것임.
* 지금 당장 쓰지를 않음
Class클래스 - 04. Class 클래스
자바의 모든 클래스와 인터페이스는 컴파일 후 class파일로 생성됨
class파일에는 객체의 정보(멤버변수, 메서드, 생성자등)가 포함되어 있음
Class 클래스는 컴파일된 class파일에서 객체의 정보를 가져올 수 있음
--
Class 클래스 가져오기
1.
String s = new String();
Calss c = s.getClass(); <<Object의 클래스
2.
Class c = String.Class;
3.
Class c = Class.forName("java.lang.String"); //동적 로딩 <<제일 많이 쓰임
장 : 그떄그때 컴파일에 맞게 변할수 있음
단 : 오타를 절대 내면 안됨
--
reflection 프로그래밍
Class클래스로 부터 객체의 정보를 가져와 프로그래밍 하는 방식
로컬에 객체가 없고 자료형을 알 수 없는 경우 유용한 프로그래밍
java.lang.reflect패키지에 있는 클래스를 활용
--
newInstance()메서드
Class 클래스 메서드
new 키워드를 사용하지 않고 인스턴스를 생성
--
forName()메서드와 동적 로딩
Class클래스 static 메서드
> 동적로딩이란?? 컴파일 시에 데이터 타입이 모두 biding되어 자료형이 로딩되는 것
(static loding)이 아니라 실행 중에 데이터 타입을 알고 binding 되는 방식
실행 시에 로딩되므로 경우에 따라 다른 클래스가 사용될 수 있어 유용함
컴파일 타임에 체크 할 수 없으므로 해당 문자열에 대한 클래스가 없는 경우 예외(ClassNotFoundException)이 발생할 수 있음
코딩해보세요
코딩해 보세요(10장)
날짜를 구현한 클래스 MyDate가 있습니다
날짜가 같으면 equals()메서드의 결과가 true가 되도록 구현해 보세요
hashCode()메서드도 구현해 보세요
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 19회차 미션 - 자바인강 (0) | 2021.04.23 |
---|---|
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 18회차 미션 - 자바인강 (0) | 2021.04.17 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 16회차 미션 - 자바인강 (0) | 2021.04.10 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 15회차 미션 - 자바인강 (0) | 2021.04.07 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 14회차 미션 - 자바인강 (0) | 2021.04.02 |