본문 바로가기
BackEnd/Backend 공부 정리

Java-16

by Brilliant_Graphite 2024. 8. 28.

중첩 클래스 : 클래스 멤버로 언된 클래스

중첩 인터페이스 : 클래스 멤버로 선언된 인터페이스

 

중첩 클래스/인터페이스 용도

- 해당 클래스에만 사용하는 클래스와 인터페이스가 필요할 때

- 중첩 인터페이스는 UI컴포넌트 내부 이벤트 처리에 많이 활용

 

익명 자식 객체

 

Generic

 

컬렉션 프레임워크

1) List - 중복 O

==(1) ArrayList

arraylist.get()

arryalist.set()

arraylist.size()

arraylist.remove()

arraylist.clear()

 

==(2) LinkedList

중간에 삽입이 어려움

 

==(3) Vector

ArrayList와 비슷하지만 속도가 떨어지지만, ArrayList보다 멀티스레드 환경에서는 안전하여, 여전히 많이 쓰이고 있음

 

2) Map - list계열과 달리 인덱스 X, 키와 값만있고 중복X

 

==(1) HashMap

 

3) Set - 데이터의 순서는 없지만 중복된 데이터는 허락 X

==(1) HashSet

 

-- Iterator 자료구조

- 반복자라는 의미로 데이터를 반복적으로 검색하는데 유용한 인터페이스

모든 자료구조형은 Iterator를 지원

 

== 디자인패턴

싱클톤 패턴(Singleton pattern)

어떤 클래스의 인스턴스는 오직 하나임을 보장

 

Java API활용

날짜(Calender) API

Random 클래스

Scanner 및 Sysout

Wrapper 클래스의 이해

Timer 클래스

StringTokenizer

 

입출력(I/O) 이란?

입력 스트림과 출력 스트림

파일 입출력

보조 스트림

 

스레드

 

JAVA 네트워크

JDBC

-Statement객체 살펴보기

-JDBC 연동 확인

 

package lambda;

interface Say4 {
	int something(int a, int b);
}

interface Hello {
	void something(String c, String d);
}

class Person4 {
	// Say4 인터페이스를 사용하는 greeting 메서드
	public void greeting(Say4 say) {
		int num = say.something(3, 5);
		System.out.println("Number is: " + num);
	}

	// Hello 인터페이스를 사용하는 greeting 메서드
	public void greeting(Hello say) {
		say.something("Hello", "World");
	}
}

public class LambdaDefaultExam4 {
	public static void main(String[] args) {
		Person4 person = new Person4();

		// Say4 인터페이스를 사용한 익명 클래스
		person.greeting(new Say4() {
			@Override
			public int something(int a, int b) {
				System.out.println("My name is Java");
				System.out.println("Nice to meet you ><b");
				System.out.println("Parameter is " + a + " and " + b);
				return 7;
			}
		});

		System.out.println("================");

		// Hello 인터페이스를 사용한 람다 표현식
		person.greeting((String c, String d) -> {
			System.out.println("My name is Java");
			System.out.println("Thank you Lambda ><");
			System.out.println("Parameter is " + c + " " + d);
		});
	}
}

 

package anonymousex;

import anonymousex.Button.OnClickListener;

public class Window {
	Button btn1 = new Button();
	Button btn2 = new Button();

	OnClickListener listener = new Button.OnClickListener() {

		@Override
		public void onClick() {
			System.out.println("전화를 겁니다.");
		}
	};

	public Window() {
		btn1.setOnClickListener(listener);

		//btn2.setOnClickListener(new Button.OnClickListener() {

			//@Override
			//public void onClick() {
				System.out.println("메세지를 보냅니다.");
//
//			}
	//	});
		
		// java8 Lambda
		btn2.setOnClickListener(() -> {
			System.out.println("람다식 메세지를 보냅니다.");
		});
		 
	}
	
}
package anonymousex;

public class WindowMain {

	public static void main(String[] args) {
		Window w = new Window();
		
		w.btn1.touch();
		w.btn2.touch();

	}

}

 

 

 

 

package lambda;

interface Say {
	void something();
}

class Person {
	public void greeting(Say say) {
		say.something();
	}
}

/*
 * 1. 람다는 매개변수 화살표(->) 함수몸체로 구성 2. 매개변수가 하나일 경우 매개변수를 생략 할 수 있음. 3. 함수몸체가 단일
 * 실행문이면 괄호({})를 생략 할 수 있음. 4. 함수몸체가 return문으로만 구성되어 있는 경우 괄호({})를 생략할 수 있음. 5.
 * 함수형 인터페이스에서만 사용 가능.
 * 
 */
public class LambdaDefaultExam {
	public static void main(String[] args) {
		Person person = new Person();
		person.greeting(new Say() {

			@Override
			public void something() {
				System.out.println("My name is Java");
				System.out.println("Nice to meet you ><b");

			}
		});
		
		System.out.println("================");
		person.greeting(() -> {
			System.out.println("My name is Java");
			System.out.println("Thank you Lambda ><;");
		} );
	}
}
package lambda;

interface Say1 {
	int something(int a, int b);
}

class Person3 {
	public void greeting(Say1 say) {
		int num = say.something(3, 5);
		System.out.println("Number is: " + num);
	}
}

public class LambdaDefaultExam2 {
	public static void main(String[] args) {
		Person3 person = new Person3();
		person.greeting(new Say1() {
			@Override
			public int something(int a, int b) {
				System.out.println("My name is Java");
				System.out.println("Nice to meet you ><b");
				System.out.println("Parameter is " + a + "and" + b);
				return 7;
			}
		});

		System.out.println("================");

		// Lambda expression
		person.greeting((int a, int b) -> {
			System.out.println("My name is Java");
			System.out.println("Thank you Lambda ><;");
			System.out.println("Parameter is " + a + " " + b);
			return 8;
		});
	}
}
package lambda;

interface Say4 {
	int something(int a, int b);
}

interface Hello {
	void something(String c, String d);
}

class Person4 {
	// Say4 인터페이스를 사용하는 greeting 메서드
	public void greeting(Say4 say) {
		int num = say.something(3, 5);
		System.out.println("Number is: " + num);
	}

	// Hello 인터페이스를 사용하는 greeting 메서드
	public void greeting(Hello say) {
		say.something("Hello", "World");
	}
}

public class LambdaDefaultExam4 {
	public static void main(String[] args) {
		Person4 person = new Person4();

		// Say4 인터페이스를 사용한 익명 클래스
		person.greeting(new Say4() {
			@Override
			public int something(int a, int b) {
				System.out.println("My name is Java");
				System.out.println("Nice to meet you ><b");
				System.out.println("Parameter is " + a + " and " + b);
				return 7;
			}
		});

		System.out.println("================");

		// Hello 인터페이스를 사용한 람다 표현식
		person.greeting((String c, String d) -> {
			System.out.println("My name is Java");
			System.out.println("Thank you Lambda ><");
			System.out.println("Parameter is " + c + " " + d);
		});
	}
}

 

 

 

package CollectionEx;

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetEx {

	public static void main(String[] args) {
		Set<String> set = new HashSet<>();
		set.add("양효선");
		set.add("홍용표");
		set.add("황진호");
		set.add("김동진");
		set.add("전경수");
		set.add("양효선");
		
		System.out.println(set);
		
		Set<String> sortedSet = new TreeSet<>(set);
		System.out.println(sortedSet);
	}
}
package CollectionEx;

import java.util.HashMap;
import java.util.Map;

public class MapEx {
	public static void main(String[] args) {
		Map<String, String> map= new HashMap<>();
		
		map.put("1","양효선");
		map.put("2","홍용표");
		map.put("3","황진호");
		map.put("4","김동진");
		map.put("5","전경수");
		map.put("6","양효선");
		
		System.out.println(map);
		System.out.println(map.get("2"));
	}
	
}

'BackEnd > Backend 공부 정리' 카테고리의 다른 글

Java-17  (0) 2024.08.29
sqldeveloper-16  (0) 2024.08.28
Java-15  (0) 2024.08.27
sqldeveloper-14  (0) 2024.08.26
Java-14  (0) 2024.08.26