일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- mco
- 기업분석
- 그리디 알고리즘
- 금리인하
- 미국주식
- Java
- etf
- 배당성장
- 접근제어자
- FCF
- S&P500
- 제태크
- 자바
- 객체지향
- 잉여현금흐름
- 프로그래머스
- 주린이
- 무디스
- javascript
- 오버라이딩
- 현금흐름표
- 다형성
- 백준
- StringBuffer
- XLF
- 알고리즘
- object
- 주식
- 금리인상
- 인플레이션
- Today
- Total
목록JAVA (77)
오늘의하루
예외처리 (Exception handling) 프로그램 오류에는 컴파일 에러, 런타임 에러로 나눌 수 있습니다. 런타임 에러에는 다시 에러(Error)와 예외(Exception)로 나뉩니다. 종류 의미 컴파일 에러 컴파일 할 때 발생하는 에러 런타임 에러 실행 할 때 발생하는 에러 런타임 에러 종류 의미 에러 (Error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 (Exception) 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외의 경우는 꼭 예외 처리를 해줘야한다. 예외 처리는 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것을 말한다. 예외처리 구문 예외를 처리하려면 try - catch문을 사용해야 한다. try{ // 예외가 발생할 가능성이..
추상 클래스(Abstract class) 클래스를 설계도라고 하면 추상 클래스는 미완성된 설계도를 말하며 다른 클래스의 작성을 돕기 위하 목적으로 사용됩니다. 추상 클래스는 추상 메서드를 포함하고 있는 클래스를 말합니다. 일반 메서드는 추상 메서드를 호출할 수 있습니다. 추상 클래스는 인스턴스를 생성할 수 없습니다. abstract class Player{ // 추상 클래스 int currentPos; Player(){ currentPos = 0; } abstract void play(int pos); // 추상 메서드 abstract void stop(); // 추상 메서드 void play(){ // 오버로딩 play(currentPos); // 추상 메서드 호출 } } 추상 메서드(Abstract ..
제어자(modifiers) 제어자는 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여하며 크게 접근 제어자와 그 외의 제어자로 나눠집니다. 하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있지만 접근제어자는 단 하나만 사용할 수 있다. 접근 제어자 : public, protected, default, private 그 외 제어자 : static, final, abstract, native, transient, synchronized, volatile, strictfp 그 외의 제어자 알아보기 static - 클래스의, 공통적인 static이 사용될 수 있는 곳은 멤버 변수, 메서드, 초기화 블록이다. 대상 의미 멤버변수 1. 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 된다. 2..
상속 (Inheritance) 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것을 말하며 이렇게 작성된 클래스와 기존 클래스는 서로 부모와 자식으로 관계를 맺어지게 됩니다. 자식은 부모의 모든 멤버를 상속받습니다. (단, 생성자 및 초기화 블록은 제외됩니다.) 자식의 멤버개수는 부모보다 적을 수 없습니다. 단일 상속을 원칙으로 한다. class Point{ int x; int y; } class Point3D extends Point{ int z; } Point3D p = new Point3D(); p.x = 1; // OK p.y = 2; // OK p.z = 3; // OK 상속 관계 공통 부분은 부모에서 관리하고 개별 부분은 자식에서 관리하게 만들며 부모의 변경은 자식에게 영향을 미치지만 자식..
생성자 생성자는 인스턴스가 생성될 때마다 호출되는 "인스턴스 초기화 메서드"이며 모든 클래스에는 반드시 하나 이상의 생성자가 있어야 한다. Card c = new Card(); 1. 연산자 new에 의해 메모리(heap)에 Card클래스의 인스턴스가 생성된다. 2. 생성자 Card()가 호출되어 수행된다. 3. 연산자 new의 결과로 생성된 Card인스턴스의 주소가 반환되어 참조 변수 c에 저장된다. 생성자의 조건 생성자의 이름은 클래스의 이름과 동일해야 하며 리턴 값이 없지만 void를 쓰지 않는다. class Test{ ... Test() // 매개변수 없는 기본 생성자 { // 인스턴스 초기화 작업 } Test(String kind, int number) // 매개변수 있는 생성자 { // 인스턴스..
변수와 메소드 변수는 선언위치에 따라 종류와 범위(Scope)가 달라진다. class Variables{ // Class Area Start int iv; // 인스턴스 변수 static int cv; // 클래스 변수 void method(){ // Method Area Start int lv = 0; // 지역 변수 } // Method Area End } // Class Area End 변수의 종류 변수의 종류 선언 위치 생성 시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갈때 인스턴스 변수 인스턴스가 생성될때 지역 변수 메소드 영역 메소드가 호출되었을때 변수의 특징 클래스 변수 같은 클래스의 모든 인스턴스들이 공유하는 변수이다. 인스턴스 생성없이 " 클래스명.클래스변수명 "으로 접근이 가능하..
객체지향 언어 란? 코드의 재사용성을 높여준다. 코드의 관리가 쉬워진다. 신뢰성이 높은 프로그램의 개발을 가능하게 한다. 클래스와 객체 클래스는 객체를 정의해 놓은 것을 말한다. 객체는 속성과 기능을 가진 개념을 말한다. - 객체(Object)는 인스턴스(instance)를 포함하는 일반적인 의미이다. 예를 들어 붕어빵 기계는 클래스이고 붕어빵은 객체가 된다. 객체의 구성요소 객체는 속성(변수)과 기능(메서드)으로 이루어져 있으며 속성과 기능을 합쳐서 멤버라고 한다. class Tv{ // 속성(변수) String color; boolean power; int channel; // 기능(메서드) void power(){power = !power;} void channelUp(){channel++;} vo..
객체지향언어의 특징 코드의 재사용성이 높고 코드의 관리가 쉽고 제어자를 통해 데이터를 보호 및 코드의 중복을 제거하여 신뢰성 높은 프로그램 개발이 가능하다. 클래스와 객체 클래스란? 객체를 정의해 높은 것이다. - 클래스는 데이터와 함수의 결합(구조체 + 함수)이다. 객체란? 속성(변수)와 기능(메서드)를 가진 개념 - 객체는 인스턴스를 포함하는 일반적인 의미이다. - 인스턴스화는 클래스로부터 인스턴스를 생성하는 것이다. 객체의 구성요소 객체는 변수(속성)와 메서드(기능)으로 이루어져 있다. class Tv{ // 변수 String color; boolean power; int channel; // 메서드 void power(){power = !power;} void channelUp(){channel ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 풀이 class Solution { public boolean solution(int x) { String[] sArr = (""+x).split(""); boolean answer = true; int y = method(sArr..