개발 강의 정리/JAVA
-
[JAVA] 인터페이스개발 강의 정리/JAVA 2021. 6. 24. 12:43
인터페이스 인터페이스란? 개발자가 개발한 코드와 힙에 생성된 객체간의 접점 역할을 한다. 즉, 인터페이스는 객체 사용 설명서라고 한다. 어떠한 객체가 주어졌을때 어떻게 사용해야하는가를 알려준다. 인터페이스는 추상클래스와 마찬가지로 규격을 정의하고 그 규격 을 "강제"하는 역할을 한다. 추상클래스와 인터페이스의 의미는 상호호환된다. 구현클래스의 이름 관례 : 이름 뒤에 Impl 을 붙인다 인터페이스의 이름 관례 : 인터페이스임을 알리기 위해 앞에 I 를 붙인다. 인터페이스의 역할 1. 개발코드가 객체에 종속되지 않게 -> 객체를 교체할 수 있도록 하는 역할! ex) 타이어의 규격을 정해두면 A회사 타이어나 B회사의 타이어로 교체할 수 있지만, A회사의 타이어라고 객체를 만들어두면 A회사의 타이어만 사용가능..
-
[JAVA] 추상클래스, 익명자식객체생성, 클로져개발 강의 정리/JAVA 2021. 6. 23. 14:11
1. instance of 연산자 -상속관계를 전제로 하는 연산자 -이항 연산자 -참조타입에 대해서만 가능 boolean result =좌항(객체) instanceof 우항(타입) 부모타입에 자식객체가 들어있는지 확인하는 것! 그래야 강제 형변환 가능! 즉, Parent parent = new Child(); 인지 확인하는 것이다. 만약 Parent parent = new Parent(); 이면 부모타입에 부모객체가 들어가있는 것이므로 자식 타입으로 강제 형변환이 불가하다! 2.추상 클래스 -추상클래스에는 인터페이스에서 제공하는 메소드(ex. abstract)를 하나라도 가지고 있다면 무조건 추상! 클래스가 된다. -추상메서드가 없어도 클래스 선언부에 abstract 키워드를 붙이면 추상 클래스가 된다!..
-
[JAVA] enum, extends, overriding개발 강의 정리/JAVA 2021. 6. 22. 14:01
1. enum MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY ; //열거 타입에 열거상수 이외의 다른 소스를 넣을때 세미콜론 처리 해줘야한다. ================================================================ default constructor invoked default constructor invoked default constructor invoked default constructor invoked default constructor invoked default constructor invoked default constructor invoked 단순히 상수만 생성하는게 아니라 생성..
-
[JAVA] 자바 총정리개발 강의 정리/JAVA 2021. 6. 21. 19:53
JAVA의 이해 1) JDK -> Java Development Kit JDK = JRE + 각종 개발 도구 2) JRE -> Java Runtime Environment :자바 프로그램의 실행환경 * JRE = JVM +자바 표준 라이브러리 3) JVM -> Java Virtual Machine (자바 가상의 기계) : 말 그대로, 가상의 PC 라는 의미 4) Java Platform :말그대로, "운영체제(=플랫폼)"의 한 종류! *GraalVM 변수 1. 변수 : 하나의 값을 담는 그릇 - 값을 바꾸고 싶다면 안에 있는 값을 비우고 채워넣어야한다. 2. 변수의 정의 = 변수의 선언 + (값으로)초기화 ex) int age; System.out.println(age); => 오류 : 변수를 사용하려면..
-
[JAVA 백준 알고리즘] 4673번 셀프 넘버(Self Number)개발 강의 정리/JAVA 2021. 5. 27. 20:32
셀프넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 문제 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다.예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 ..
-
[JAVA] 강제 타입 변환개발 강의 정리/JAVA 2021. 5. 10. 19:28
1. 강제 타입변환 (다운캐스팅) : 부모 타입을 자식 타입으로 변환하는 것 자식 클래스 변수 = (자식클래스) 부모클래스타입; *조건 자식타입이 부모타입으로 자동 변환 한 후 다시 자식 타입으로 변환할 때 강제 타입 변환 가능. 다운캐스팅 하는 이유? >자식 타입이 부모타입으로 업캐스팅 하면 부모클래스의 메서드와 필드만 사용 가능한데, 자식 클래스의 메서드를 이용하고 싶다면? 다운 캐스팅을 해야한다. 1.1 객체 타입 확인(instanceof) 모든 부모 객체를 자식 타입으로 강제 타입 변환을 할 수 있는게 아니다. 부모타입의 변수가 부모 객체를 참조 할 경우 자식 타입으로 변환할 수 없다. Parent parent = new Parent(); Child child = (Child) parent //강..