본문 바로가기

Java23

[Java] 람다식 람다식 : 익명함수(anonymous function)을 이용해 익명객체 생성하는 식 인터페이스를 이용해 껍데기를 만들고 기본적으로 함수를 만들어 원하는 대로 사용 가능한 것 객체지향이 아닌 함수(절차)지향으로 프로그래밍하는 방법 객체를 따로 만들 필요 없이 메소드의 핵심적인 부분 ( 파라미터와 실행문 ) 만을 이용해 원하는 결과를 도출 인터페이스1~4 public interface No9_Lamda_Interface1 { public void method(String s1, String s2, String s3); } public interface No9_Lamda_Interface2 { public void method(String s1); } public interface No9_Lamda_Inte.. 2021. 8. 1.
[Java] 추상클래스 인터페이스의 특징을 갖고 있는 추상적인 클래스 클래스의 공통된 부분을 뽑아 별도의 추상클래스로 만들어놓고 이것을 상속해서 사용 = 공통된 부분을 추상클래스로 선언만 해놓고 각자 알아서 오버라이드해서 쓰는 방식 특징 멤버변수를 가지고 extends 이용 추상메소드는 상속한 클래스에서 반드시 구현해야함 일반메소드나 생성자도 가질 수 있음 예제 1) 추상클래스 // 추상클래스 public abstract class No11_AbstractClass { int num; String str; // 일반 생성자 public No11_AbstractClass() { System.out.println("AbstractClass constructor"); } public No11_AbstractClass(int i, S.. 2021. 7. 29.
[Java] 비트연산 컴퓨터는 이진수로 소통하기 때문에 이진수 연산(비트연산)을 이해할 필요가 있다 자연수 3 을 이진수로 표현하면 [1][1] 이고 2개의 공간을 사용하므로 2bit이다 컴퓨터는 1byte = 8bit 를 기준으로 사용한다 예를들어 Integer의 값의 범위는 -2^31 부터 (2^31)-1 이다 Integer은 4byte = 32bit 를 사용하고 모든 bit를 1로 채운 값은 4,294,967,295 이다 맨 앞의 32번째 자리는 부호비트로 0이면 양수, 1이면 음수를 나타내므로 음수 최솟값 : [1][1][1]...[1][1][1] // 양수 최댓값 : [0][1][1]...[1][1][1] 음수는 -2^31까지 표현이되고 양수는 2^31 -1까지 표현이 된다 다음은 비트연산자를 활용한 예제이다 pub.. 2021. 7. 29.
[Java] 인터페이스 인터페이스란? 클래스와 달리 객체를 생성할 수 없고 1) 다양한 자료형의 객체를 위해 (확장성) 2) 객체를 계속 새로 만들 필요 없이 인터페이스에서 선언만 한 메소드를 인터페이스를 implements 한 클래스에서 구현할 수 있기 때문에 다양한 기능을 가진 객체를 생성 가능 -> '클래스에서 인터페이스를 구현한다' 라고 함 예제 1) 인터페이스 A,B public interface interfaceA { // 인터페이스는 메소드를 선언만 하고 정의하지는 않는다 // 구현하는 클래스에서 오버라이드 public void funA(); } public interface interfaceB { public void funB(); } 인터페이스를 implements한 클래스 //다형성 여러 인터페이스를 구현할 .. 2021. 7. 27.
[Java] 내부클래스, 익명클래스 내부클래스(inner class) 클래스 안의 클래스 내부클래스는 외부클래스로 바로 접근 가능, 단 static 내부클래스는 외부클래스에 접근 불가 코드가 복잡해보일 수 있기때문에 잘 쓰지는 않음 public class No8_InnerClass { int num = 100; static String str1 = "hello"; public No8_InnerClass() { System.out.println("OuterClass Constructor"); } // 내부클래스1 class InnerClass { int num = 200; String str2 = str1; // 내부클래스는 외부클래스 멤버 접근가능 // 내부클래스1 생성자 public InnerClass() { System.out.prin.. 2021. 7. 27.
[Java] 상속 메소드 오버라이드, 자료형, super 클래스 * 자식 클래스는 부모 클래스의 모든 자원을 사용할 수 있지만 private 접근자의 속성과 메소드는 사용 불가능 [1] 메소드 오버라이드 부모 클래스의 기능을 자식 클래스에서 재정의해서 사용하는 것 [2] 클래스도 데이터타입이다 [3] 상위 클래스를 호출할 때 super 키워드 이용 public class No3_Inheritance_Parents { // 필드 public String name; public String ssn; // 생성자 public No3_Inheritance_Parents(String name, String ssn) { this.name = name; this.ssn = ssn; } // 메소드 double areaCircle(double r) { return 3.141592 .. 2021. 7. 24.