일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- StringBuffer
- 다형성
- 기업분석
- 금리인하
- 프로그래머스
- 제태크
- 주린이
- XLF
- 그리디 알고리즘
- 잉여현금흐름
- 백준
- FCF
- S&P500
- 알고리즘
- etf
- 인플레이션
- 자바
- 객체지향
- mco
- Java
- object
- 오버라이딩
- 접근제어자
- javascript
- 무디스
- 미국주식
- 금리인상
- 주식
- 배당성장
- 현금흐름표
- Today
- Total
목록Java (57)
오늘의하루
남궁성의 코드초보스터디(자바 java... : 네이버 카페 전문가가 지도하는 스터디카페에요. 프로그래밍언어(자바 java, C언어)를 제대로 배우고픈 분들 오세요. cafe.naver.com 1단계 더보기 [문제1] 에제를 실행하면 '>>'와 같은 프롬프트가 나타나서 사용자의 입력을 기다리고, 사용자가 입력한 내용을 화면에 출력한다. 만일 사용자가 'q' 또는 'Q'를 입력하면 프로그램을 종료한다. 다음의 예제를 완성하세요. [예제ConsoleEx1.java] import java.util.*; class ConsoleEx1 { public static void main(String[] args) { while(true) { String prompt = ">>"; System.out.print(promp..
Object 클래스의 메서드 protected Object clone() : 자기 자신 객체 복제 Cloneable 인터페이스 구현한 클래스의 인스턴스만 복제가 가능 사용하려면 public으로 오버라이딩 해줘야한다. 인스턴스 변수가 참조형이면 객체도 복제되게 오버라이딩 필요 public boolean equals(Object obj) : 객체 주소 비교 String 클래스는 기본적으로 값을 비교하도록 오버라이딩 되어있다. public boolean equals(Object obj){ return (this == obj); // 주소 비교 } // 오버라이딩으로 객체의 값 비교로 바꾸기 class className{ public boolean equals(Object obj){ if(obj!=null &&..
1. 객체지향 언어의 특징 기존의 프로그래밍 언어에 몇 가지 규칙을 추가한 것이다. 코드의 재사용성이 높다. 코드의 관리가 수월하다. 제어자와 메서드를 이용해서 데이터를 보호하기 때문에 신뢰성이 높은 개발이 가능하다. Class란? 변수와 메서드(객체의 멤버 )의 집합이다. 2. 인스턴스 생성 및 사용 인스턴스 생성이란? class로부터 인스턴스를 생성하는 것 클래스명 참조 변수명 = new 클래스명(); 생성 과정 = new 연산자를 통해 class명의 인스턴스 생성 후, 생성된 인스턴스 주소를 참조 변수에 저장 인스턴스를 사용한다는 것은 class에 있는 변수 혹은 메서드들을 사용한다는 것이다. 참조 변수명. 변수; 참조 변수명. 메서드(); 클래스에 접근하기 위해서는 인스턴스 주소가 저장돼있는 참조..
1. StringBuilder란? StringBuffer는 동기화되어 있으며 멀티 스레드에 안전하지만 싱글 스레드에 사용 시 불필요한 성능 저하를 가져온다. 싱글 스레드는 StringBuilder를 사용하게 성능면에서 좋다. class StringBuilderTest1{ // StringBuffer로 만들기 StringBuffer sb1 = new StringBuffer(); void Append1(){ sb1.append("abc"); } // ⭐StringBuilder로 만들기 StringBuilder sb2 = new StringBuilder(); void Append2(){ sb2.append("abc"); sb2.insert(2,'.'); // ab.c sb2.delete(1,3); // ac ..
StringBuffer의 특징 StringBuffer는 동기화(데이터 보호)되어 있고 멀티스레드에 안전하다는 특징이 있다. 스레드의 종류 및 특징 싱글 스레드는 한 번에 1개의 작업을 하는 것을 말합니다. 멀티 스레드는 한 번에 n개의 작업을 하는 것을 말합니다. 멀티 스레드의 경우 스레드끼리 데이터를 공유하는데 이때 데이터가 꼬일 수 있으며 이를 방지하기 위해서는 동기화로 작업해주어야 합니다. (데이터 보호 목적) StringBuffer() : 16 문자를 담을 수 있는 버퍼를 가진 StringBuffer 인스턴스를 생성한다. StringBuffer(int length) : 지정된 개수의 문자를 담을 수 있는 버퍼를 가진 StringBuffer 인스턴스를 생성한다. StringBuffer(String ..
String(String s) : 주어진 문자열(s)을 갖는 String 인스턴스를 생성한다. (생성자) String s = new String("Hello"); // s = "Hello" String(char [] value) : 주어진 문자열(value)을 갖는 String 인스턴스를 생성한다. (생성자) char []를 String으로 변경하려면 String()을 사용하면 됩니다. String을 char []로 변경하려면 toCharArray()를 사용하면 됩니다. char[] c = {'H','e','l','l','o'}; String s = new String(c); // s = "Hello" String(StringBuffer sb) : StringBuffer 인스턴스의 문자열과 같은 내용의 ..
1. String 클래스 정보 문자열을 다루기 위한 클래스 데이터(char []) + 메서드(문자열 관련) 내용을 변경할 수 없는 불변(immutable) 클래스이다. class StringTest1{ String a = "a"; String b = "b"; void StringSum(){ a = a + b; // "ab" } } 어떻게 내용을 변경할 수 없는 불변의 String클래스가 변경이 되는지에 대해 알아보겠습니다. 참조 변수 a에는 문자열 리터널 "a"의 주소가 담깁니다. (예: 주소 : 0X100) 참조 변수 b에는 문자열 리터널 "b"의 주소가 담깁니다. (예: 주소 : 0X200) 문자열 리터널 "a"와 "b"를 합친 결과는 새로운 문자열 리터널 "ab"가 됩니다. (예: 주소 : 0X30..
1. Object Class Object는 모든 클래스의 최고 조상으로 11개의 메서드를 가지고 있습니다. protected Object clone( ) : 객체 자신의 복사본을 반환한다. 오버 라이딩을 통해 접근제어자를 public으로 바꿔줘야 한다. public boolean equals(Object obj) : 객체 자신과 객체 obj가 같은 객체인지 알려준다. 참조 변수에 저장된 주소를 비교한다. 오버 라이딩을 통해 주소가 아닌 멤버 비교도 할 수 있다. equals 메서드를 오버 라이딩하면 hashCode 메서드도 오버 라이딩해줘야 한다. (중요) equals 메서드의 결과가 true이면 두 객체의 해시 코드는 같아야 하기 때문입니다. protected void finalize( ) : (거의 ..
1. 제어자 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여한다. 제어자는 크게 접근 제어자와 그 외 제어자로 나뉜다. 접근 제어자 : public, protected, default, private 그 외 제어자 : static, final, abstract, native, transient, synchronized, volatile, strictfp 하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있지만 접근 제어자는 단 하나만 사용이 가능하다. 1-1. 그 외 제어자에 대해 알아보기 static - 공통적인 static이 사용될 수 있는 곳은 멤버 변수, 메서드, 초기화 블록이다. 멤버 변수 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 된다. 클래스 변수는 인스턴스를 생성..
1. static class staticTest{ static int width; // 클래스(static) 변수 static int height; // 클래스(static) 변수 static { // 클래스 초기화 블록 (복잡) width = 100; height = 200; } static int max (int a, int b){ // 클래스(static) 매서드 return a > b ? a : b; } } 만약 이런 클래스가 있다면 여기 있는 모든 멤버는 인스턴스를 생성하지 않고도 사용할 수 있습니다. static의 경우 파일이 실행될 때 메모리에 올라가며 몇 개의 인스턴스를 생성하더라도 최초 1회만 초기화됩니다. static은 인스턴스 멤버에만 사용할 수 있습니다. 2. final final ..