[#14] Java 재귀 & 배열 & Exception
·
LG 유플러스 유레카 SW/Java
재귀package recur;public class Test { public static void main(String[] args) { int n = 10; printNums(n); } public static void printNums(int n) { if(n > 0) { // 기저 조건 printNums(n-1); System.out.print(n +" "); } }} 재귀를 사용하는 사례분할 정복 (Divide and Conquer): 문제를 더 작은 하위 문제로 나누어 해결하는 방식이 필요할 때. 퀵 정렬 (Quick Sort) 및 병합 정렬 (Merge Sort): 배열을 여러 부분으로 나누고 각각을 정렬한 후 다시 합치는 방식입니다.트리 및 그래프 탐색: 트리나 그래프 구..
[#13] Java Generic & Collection
·
LG 유플러스 유레카 SW/Java
Generic성능 향상을 위한 제네릭package generic;import java.util.ArrayList;import java.util.List;public class Test3 { public static void main(String[] args) { List list=new ArrayList(); list.add(new A()); list.add(new B()); }}class A{}class B extends A{}class Biz{ public static void service(List list) { for(A o:list) { // ... } }}Wildcard제네릭에서는 타입에 의한 상속 관계를 허용하지 않음, 겉으로만 보고 판단 ! ➡️ Wil..
[#12] Java 코드 성능 & 가독성 높이는 법
·
LG 유플러스 유레카 SW/Java
String/StringBuffer/StringBuilder 의 시간 복잡도와 공간복잡도package com.kse.basic;public class StringTest3 { public static void main(String[] args) { String s1 = new String("java"); // 시간복잡도 O(n), 공간복잡도 상승(매번 다른 공간) String s2 = "java"; // 시간복잡도 O(1), 공간복잡도 저하 System.out.println(s1 == s2); // 주소 비교 System.out.println(s1); // toString(): 내용값 제공 메서드가 자동으로 호출 System.out.println(s2.toString()); System.o..
[#11] Java 다형성 + Class 다이어그램 그려보기
·
LG 유플러스 유레카 SW/Java
Java 다형성1️⃣ polymorphic variable(다형적 변수)슈퍼 타입으로 선언된 변수 shadow effect가 생김 (슈퍼 타입 아래의 멤버들이 가려지는 효과)2️⃣ overriding(재정의)슈퍼의 메소드를 자식 클래스에서 내용을 변경하여 정의하는 것확장성, 성능, 정합성 향상shadow effect가 적용되는 않는 예외 메소드super: public void area () {xxx} / sub: public void area () {yyy}서브 클래스는 슈퍼 클래스의 접근 제어자보다 같거나 높아야 함(ex. super: protected ➡️ sub: protected/public)3️⃣ overloading한 클래스 내에서 같은 이름의 메소드가 다수 존재하는 것ex) PrintStre..
[#10] Java 들어가기 + 알고리즘 스터디
·
LG 유플러스 유레카 SW/Java
🧐 지난 블로깅에 이어 다시 보는 java 동작 과정(그림)public class MyProfile { private int age; public double tall = 180.5; public char gender = '남'; public boolean isPretty= true; public String name = new String("김철수"); public Date birthday = new Date(2000, 1, 1); public static void main(String[] args) { MyProfile m = new MyProfile(); System.out.println(m.age); System.out.println(m.tall); System.out.print..
[#9] Java 들어가기 전에..
·
LG 유플러스 유레카 SW/Java
Java란웹 시장을 겨냥하여 만들어진 객체 지향 언어 🌟 최종 목표: 개발자 편의성📍 특징1. WORA(Write Once Run Anywhere)한 번 작성한 코드를 다양한 운영 체제에서 실행할 수 있어야 한다는 패러다임2. Object-Oriendted(Reuse)byte 코드를 가져와서 재사용3. Thread-Multi 지원4. Garbage-Collection이전에 쓰던 자원을 지우는 것5. 보안 ⬆️6. Exception 처리 ⬆️ Java 사용해보기설치(mac os)1. jdk 설치(.dmg 파일)https://www.azul.com/downloads/?package=jdk#zulu Azul DownloadsNo matter the size of your company, Azul offer..