2023. 8. 10. 16:27ㆍSpring 활용 통합 시스템 개발/자바
객체 ab, lb가 상위 인터페이스를 implements 했는지 확인하는 연습 - instanceof
객체 ab, lb를 상위 인터페이스로 형 변환하는 연습 - ((상위인터페이스명)ab).메소드명
변수명.getClass() - 변수명이 참조하는 클래스를 출력하는 메소드이다.
[참조링크] 자바(Java) getClass 메소드 사용방법 :: 문돌이의IT (tistory.com)
자바(Java) getClass 메소드 사용방법
java.lang의 Object 클래스 중에서 getClass 메소드에 대해 알아보자. 대단한 기능이라기 보다는 현재 참조하고 있는 클래스를 확인할 수 있는 메소드이다. A라는 클래스를 참조하고 있다면 class A 라는
improver.tistory.com
내 코드를 수정할 부분
* 삼항 연산자를 넣으면 좋겠다.
* StringBuilder 타입은 문자열 타입처럼 isEmpty() 함수가 없다. if(변수명.length() == 0) 조건식을 만들어야 전달받은 값이 없다는 것을 판단할 수 있다. length() 함수가 변수명의 문자열 길이를 출력한다. 이 길이가 '0'이면 호출한 함수에서 전달받은 값이 없고 숫자를 출력한다.
* 문자열 타입 변수명.isEmpty() - 변수에 값이 없다면 true 반환 , 값이 있으면 false 반환한다
isEmpty()함수는 문자열 변수에 값이 있는지 없는지 판단하는 함수이다.
* StringBuilder 타입 변수명.toString() -> StringBuilder 타입을 문자열로 변환된다. -> (sb.toString().equals(""))
실행결과
Home 클래스, RetReference 인터페이스를 생성하고 SmartHome 클래스를 생성한다
SmartHome 클래스가 Home 클래스를 상속하고 RetReference 인터페이스를 implements 하게한다.
RetReference 인터페이스에 선언된 추상메소드를 SmartHome 클래스에서 구현한다.
*** 주의할 부분 3번 코드에서 getRetReference(Criteria, ValueObject) 구현할 때
리턴을 쓸 때 if문에만 return을 쓰고 else에 리턴을 써야한다. 빠뜨리면 안 된다.
if 조건문마다 return 이 있으면 보기 좋지 않으므로 변수(retValue)를 생성하고 마지막 return에 retValue를 저장한다.
if 조건문을 돌 때마다 retValue 값은 바꿔주면 마지막에 return에 if조건문을 돌면서 바뀐 값이 저장된다.
클래스 SmartHome 은 큰 변경없이 main에 함수를 출력하는 기능 구현
ContentsInterface를 만들고 추상메소드를 선언한다.
클래스 SmartHome이 ContentsInterface를 implements 한다.
*** 구현하고자 하는 7개 변수는 SmartHome 에 선언하지 말고 클래스 Contents를 새로 만들고 그 클래스에 선언하고 getter and setter 함수를 만든다.
contents 클래스 print() 를 만들어 변수를 출력한다.
Contents 클래스 print()
실행결과
'Spring 활용 통합 시스템 개발 > 자바' 카테고리의 다른 글
컬렉션(Collection) - List (0) | 2023.08.16 |
---|---|
중첩클래스 (0) | 2023.08.14 |
자바 코딩 연습문제 (0) | 2023.08.09 |
인터페이스 (0) | 2023.08.09 |
추상클래스 (0) | 2023.08.09 |