본문 바로가기

전체 글101

[Java] Lambda 람다식 기존의 객체 지향이 아닌 함수 지향 프로그래밍 방법 람다식이란? 익명 함수(Anonymous Function)를 이용해서 익명 객체를 생성하기 위한 식 [ 기존 방법 ] InterfaceType 변수 --- 할당(대입) ---> Interface 구현 [ 람다식 방법 ] InterfaceType 변수 --- 할당(대입) ---> Lambda Expressions 람다식 구현 1. 매개변수와 실행문만으로 작성한다(접근자, 반환형, return 키워드 생략) public interface LambdaInterface { public void method(String s1, String s2, String s3); } public static void main(String[] args) { LambdaInte.. 2020. 7. 3.
[Java] 인터페이스와 추상클래스 인터페이스란? - 추상화의 꽃, 추상 method들의 집합 클래스와 달리 객체를 생성할 수 없으며, 클래스에서 구현해야 하는 작업 명세서 반드시 interface에 있는 abstract method를 상속받은 클래스에서 구현해야 한다 인터페이스를 사용하는 이유 인터페이스를 사용하는 이유는 많지만, 가장 큰 이유는 객체가 다양한 자료형(타입)을 가질 수 있기 때문이다 인터페이스 구현 public interface InterfaceA { public void funA(); } public interface InterfaceB { public void funB(); } public class MainClass { public static void main(String[] args) { InterfaceA ia.. 2020. 7. 3.
[Java] 내부(inner) 클래스 & 익명(Anonymous) 클래스 내부(inner) 클래스와 익명(anonymous) 클래스 내부(innter) 클래스 클래스 안에 또 다른 클래스를 선언하는 것으로 이렇게 하면 두 클래스의 멤버에 쉽게 접근할 수 있다 public class OuterClass{ int num = 10; String str1 = "java"; static String str11 = "world"; public OuterClass(){ System.out.println("OuterClass Constructor"); } class InnerClass{ int num = 100; String str2 = str1; public InnerClass() { System.out.println("InnerClass Constructor"); } } class SI.. 2020. 7. 3.
[Java] 상속, Object & Super 클래스 상속 기존에 만들어진 클래스의 기능을 상속받아서 새로운 클래스를 쉽게 만들 수 있는 방법 상속이란 상위 클래스를 상속받은 하위 클래스는 상위 클래스의 속성과 기능도 이용할 수 있다 따라서 하위 클래스에서 객체를 생성하면 상위 & 하위 클래스의 모든 속성과 기능을 사용할 수 있다 상속에는 다음 두 종류가 있다 구현상속 : 클래스 상속 인터페이스 상속 : 인터페이스 상속, EX) 리모콘 케이스(인터페이스) / 리모콘 안에 들어가는 내부회로판(클래스)은 다를 수 있다 인터페이스는 클래스가 아니기 때문에 객체생성이 불가하다 인터페이스는 클래스가 지녀야 할 것들의 약속, 약속을 지키는 행위를 하는 것은 클래스이다 메서드 선언과 정의의 차이 method ( ); 선언 -> 추상메소드, 무슨 일을 하는지 정도만 알 .. 2020. 7. 3.
[Java] 패키지와 static, 패키지 은닉 패키지와 static 패키지(package) 자바 프로그램은 많은 클래스로 구성되고, 이러한 클래스를 폴더 형식으로 효율적으로 관리하는 것을 패키지라고 한다 패키지 이름 결정 요령 패키지에 속해 있는 클래스가 최대한 다른 클래스와 중복되는 것을 방지하도록 만든다 일반적으로 도메인을 거꾸로 이용한다 Ex) com.java.hello, kr.co.회사이름 ... 개발 중에 패키지의 이름과 구조는 변경될 수 있다 패키지 이름만 보고도 해당 패키지 안에 있는 클래스가 어떤 속성과 기능을 가지고 있는지 예상이 될 수 있도록 이름을 만든다 import 클래스가 하나 package com.java.employee; import com.java.dailyJournal.DailyJournal; public class E.. 2020. 7. 2.
[Java] 생성자와 소멸자 그리고 this 키워드 디폴트 생성자 객체가 생성될 때 가장 먼저 호출되는 생성자로, 만약 개발자가 명시하지 않아도 컴파일 시점에 자동 생성된다 Object obj = new Object(); // 다음과 같이 디폴트 생성자가 없는 경우 public class Object(){ } // 컴파일 시점에 컴파일러가 아래와 같이 생성자를 자동으로 생성한다 public Object(){ } 사용자 정의 생성자 디폴트 생성자 외에 특정 목적에 의해서 개발자가 만든 생성자로, 매개변수에 차이가 있다 사용자 정의 생성자를 하나라도 만들면 디폴트생성자는 사라진다 - 중요!!!!!! Object obj = new Object("John", 10); public Object(string name, int age){ str = name; i = .. 2020. 7. 2.