일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java
- 인텔리제이
- java #조건문 #if조건문 #if
- 람다
- java #중첩반복문 #구구단
- IntelliJ
- Math.sqrt()
- 자바 #java #상속
- java #객체지향 #자바
- 객체지향프로그램
- java #자료형
- 이펙티브자바
- 스프링 #Spring #spring #입문서
- 자바
- java #continue #반복문
- java # for문 #반복문
- HashMap
- overring
- Arrays.toString()
- 자바 #JAVA
- 해쉬맵
- Math.pow()
- Mixin
- EffectiveJava
- java #자바 #상속 #오버라이딩
- 메서드
- java #자바 #상속
- 믹스인
- java #조건문 #if문
- 자바 #변수 #java
- Today
- Total
목록자바 (15)
산으로 가자▲
Java는 사용자 정의 메소드 및 생성자와 연관된 매개변수 개념을 제공합니다. Java에서 사용자 정의 메소드와 생성자는 0개, 하나 또는 둘 이상의 매개변수를 사용할 수 있습니다. 여기 쿼리는 Java의 매개 변수가 무엇입니까? 잘! Java의 매개변수는 메소드 또는 생성자에 전달할 수 있는 변수이며 byte, string, int, float 등과 같은 모든 데이터 유형이 될 수 있습니다. Java에서 메소드/생성자는 단일 또는 다중 매개변수를 사용할 수 있습니다. 이 문서에서는 아래 나열된 개념에 대한 심층적인 이해를 제공합니다. 자바의 매개변수란? Java의 매개변수와 인수 예 결론 시작하겠습니다! 자바의 매개변수란? Java의 매개변수는 메소드 또는 생성자에 전달할 수 있는 변수입니다. 이러한 ..
instanceof - instanceof는 객체 타입을 확인하는 연산자이다. - 형변환 가능 여부를 확인하며 true / false로 결과를 반환한다. - 주로 상속 관계에서 부모객체인지 자식 객체인지 확인하는 데 사용된다. instanceof의 기본 사용방법은 "객체 instanceof 클래스" 를 선언함으로써 사용한다. 다음 예제로 어떤 구조인지 파악해 보자 class Parent{} class Child extends Parent{} public class InstanceofTest { public static void main(String[] args){ Parent parent = new Parent(); Child child = new Child(); System.out.println( pa..
반복문과 java.util.Arrays의 toString() 메소드를 이용하여 배열의 값을 출력하는 방법을 소개합니다. 먼저, 그냥 배열의 값을 출력해 볼까요? [ 코드 ] public class PrintArray { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; System.out.println(arr); // ?? } } [ 결과 ] [I@762efe5d 위와 같이 그냥 배열 변수(arr)를 출력하면 알수 없는 값이 출력됩니다. 아마도, 여러분들이 위 코드를 돌리면 저와는 또 다른 값이 출력될 것입니다. 왜냐하면, 여기서 출력된 값은 arr라는 변수가 가리키고 있는, [1, 2, 3, 4, 5] 값이 들어있는 메모리의..
String -> int (문자열을 숫자로) String 문자열을 int로 변환하기 위해서는 java.lang.Integer 클래스의 parseInt()와 valueOf() 메소드를 사용할 수 있습니다. Integer.parseInt() static int parseInt(String s) java.lang.Integer 클래스의 static 메소드인 parseInt() 메소드는 파라미터로 숫자로 변환할 문자열을 입력받고, 입력받은 문자열을 integer로 변환한 int 값을 리턴합니다. 코드 public class StringToInt { public static void main(String[] args) { String str1 = "123"; String str2 = "-123"; int int..
람다함수란? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다. 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 람다의 특징 람다 대수는 이름을 가질 필요가 없다. - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. - 커링 (Curring) 익명함수? 익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다. 이 일급 객체란..
해시맵(HashMap) 해시맵은 이름 그대로 해싱(Hashing)된 맵(Map)입니다. 여기서 맵(Map)부터 짚고 넘어가야겠죠? 맵이라는 것은 키(Key)와 값(Value) 두 쌍으로 데이터를 보관하는 자료구조입니다. 여기서 키는 맵에 오직 유일하게 있어야합니다. 즉, 같은 맵에 두 개 이상의 키가 존재하면 안된다는 것입니다. 이름 그대로 열쇠이기 때문에 그 열쇠로 짝인 값(Value)를 찾아야하기 때문입니다. 값은 중복된 값이어도 상관이 없습니다. HashMap과 사용법이 거의 동일한 컬렉션(Collection)에는 Hashtable이 있습니다. 두 클래스의 차이점은 Thread 관점에서 안전하냐(Hashtable), 안전하지 않은 대신 속도가 빠르냐(HashMap)입니다. 여기서는 Thread-Sa..
자바의 다중 구현 매커니즘 : 인터페이스, 추상 클래스 자바 8부터는 인터페이스도 default 메서드를 제공할 수 있다. 인터페이스 vs 추상 클래스 공통점 선언 내용은 존재하지만 구현 내용은 없다(추상 메서드를 갖는다) 인스턴스로 생성할 수 없다. 목적 인터페이스 : 함수의 껍데기만 존재해서 구현을 강제한다. 구현 객체가 같은 동작을 하도록 보장한다. Has - A 추상 클래스: 추상 클래스를 상속 받아 기능을 이용하고 추가시킨다. Is - A 다중 상속 인터페이스 : 여러개의 인터페이스를 구현할 수 있다. 추상 클래스 : 여러 클래스를 상속 받을 수 없다. 책 본문 내용중 타입이라는 표현은 구현해야하는 메서드를 아울러 표현하는 것으로 이해했다. 추상 클래스가 정의한 타입을 구현하는 클래스는 반드시 ..
믹스인이란? 객체지향언어에서 다른 클래스에서 '사용'할 목적으로 만들어진 클래스이다. '포함'으로 설명된다. '상속'과 주로 비교되는 개념이다. (is-a vs has-a) Composition 혹은 Aggregation 이라고 불리기도 한다. 코드 재사용성을 높여주고, 상속의 단점을 해결할 수도 있다. 자바코드에서는 다중 상속의 제한이 없는 인터페이스로 구현하기 용이하다. 대상 타입의 주된 기능에 선택적 기능을 '혼합(mixed in)'한다고 해서 믹스인이라 불린다. 예제 코드 public interface Singer { AudioClip sing(Song s); } public interface Songwriter { Song compose(int chartPosition); } public int..
인스턴스 (instance) 클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됨 가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됨 new 키워드를 사용하여 인스턴스 생성 힙 메모리 생성된 인스턴스는 동적 메모리(heap memory) 에 할당됨 C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 함 ( free() 난 delete 이용) 자바에서 Gabage Collector 가 주기 적으로 사용하지 않늠 메모리를 수거 하나의 클래스로 부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 됨 참조 변수, 참조 값 `St..
학생 클래스를 정의 하고 이를 사용해 보자 학생 클래스의 속성을 멤버 변수로 선언하고 메서드를 구현한다 `public class Student { public int studentID; public String studentName; public String address; public void showStudentInfo() { System.out.println(studentName + "," + address); } public String getStudentName() { return studentName; } }` 학생 클래스를 생성하여 생성된 객체(인스턴스)에 각각 다른 이름과 주소를 대입한다 `public class StudentTest { public static void main(Strin..
함수란 (function) 하나의 기능을 수행하는 일련의 코드 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음 함수 정의하기 함수는 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성됨 `int add(int num1, int num2) { int result; result = num1 + num2; return result; }` 함수 구현하기 예제 `public class FunctionTest { public static int addNum(int num1, int num2) { int result; result = num1 + num2; return result; } pub..
객체를 찾아 봅시다 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다 아침에 회사에 가는 길에 별다방 커피숍에 들려 아이스 카페라떼를 주문했다 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강 한 과목들의 성적을 확인했다 클래스는 객체의 청사진(blueprint) 입니다 객체의 속성은 클래스의 **멤버 변수(member variable)**로 선언 함 학생 클래스 `public class Student { int studentNumber; String studentName; int majorCode; String majorName; int grade; }` 주문 클래스 `public class Order { int orderId; String buyer..
java.lang.Math클래스의 sqrt() 메서드입니다double타입의 인수를 전달하면 인수에 대한 double타입의 제곱근 값을 리턴해줍니다제곱근은 음수가 나올 수 없으므로 음수를 입력하면 NaN(Not a Number)을 리턴해줍니다 Math.Sqrt() 사용방법Math.Sqrt(double d);사용하여 d의 제곱근을 출력합니다 Math.Sqrt() 사용예제import java.io.IOException; public class MathSqrt { public static void main(String[] args) throws IOException { System.out.println("9의 제곱근 : " + Math.sqrt(9)); System.out.println("20의 제곱근 : " ..
Math.pow()를 이용하여 거듭제곱을 계산할 수 있습니다. pow는 power를 의미하고, power의 뜻은 거듭제곱입니다. pow() 인자로 a와 b를 전달하며, a의 b 제곱이 리턴됩니다. 즉, a를 b번 곱한 값이 리턴됩니다. // Math.java public static double pow(double a, double b) 다음과 같이 3.2의 3제곱을 계산할 수 있습니다. double result = Math.pow(3.2, 3); System.out.println(result); 실행해보면 약 32.76이 리턴됩니다. 이 값은 3.2 * 3.2 * 3.2와 같습니다. 32.76800000000001 int로 변환하고 싶다면 다음과 같이 직접 형변환해줘야 합니다. int result = ..