전체 글(67)
-
String Builder
String Builder - String의 문제점을 해결하기 위해 등장한 클래스 - String에 Literal을 저장하면 데이터가 static영역에 저장됨. (static영역의 데이터는 변경 안됨.) - + 연산을 이용해서 결합하면 메모리 낭비가 발생할 수 있음. - 메모리 낭비를 줄이기 위해 등장한 클래스가 StringBuilder - 이 메소드는 여분의 공간을 가지고 인스턴스가 만들어져서 문자열을 추가할 때 복사작업을 하지 않음. - 문자열을 추가할 때는 append(String str) - 다시 원래의 문자열로 되돌릴때는 toString()을 호출 - 최근의 자바버전에서는 String이 StringBuilder처럼 동작하기 때문에 이용안함 stack - method가 호출될때 생성,일시적(메소드..
2020.04.24 -
예외 처리
예외 처리의 목적 - 예외가 발생하더라도 프로그램을 계속 실행하도록 하기 위해 - 예외가 발생했을 때 예외 내용을 기록하기 위해 예외처리 방법 1) 예외가 발생한 곳에서 처리 2) 예외를 호출한 곳으로 던져서 처리 규칙 - try가 나오면 catch나 finally 둘 중 하나는 반드시 나와야 함. - catch클래스를 변경해서 여러개 작성 가능 - finally는 생략되거나 한번만 나와야 함. - try구문 안에서 예외가 발생하지 않으면 catch구문은 수행되지 않고 finally로 넘아감. - try구문에서 예외가 발생하면 예외와 일치하는 catch구문을 찾고 일치하는 곳이 있으면 처리하고 finally로 넘어가고 일치하는 구문이 없으면 프로그램을 중단하거나 finally로 넘어감. - try,cat..
2020.04.22 -
내부 클래스
Nested Class - 클래스 안에 만드는 클래스 - 자바는 클래스 안에 클래스를 만드는 것을 지원 - 하나의 파일에 여러 개의 클래스를 만드는 것과는 다른 개념 - 비추천 - 특정 클래스 안에서만 사용되는 클래스가 있다면 굳이 외부에 만들 필요없이 클래스 내부에 만들어서 다른 클래스는 접근할 수 없도록 하자는 취지에서 생성 - 내부 클래스는 클래스 안에서 인스턴스를 생성해서 사용 1. 일반 Inner Class(static이 아니어서 일반이라고 명시) - 클래스 안에 만들어진 클래스 - static 프로퍼티나 메소드를 소유 불가 - static이 없는 클래스는 인스턴스를 만들기 전까지 메모리 할당을 받지 않기 때문에 static처럼 클래스가 만들어질 때 저장되어야하는 데이터를 사용할 수 없다. 2...
2020.04.21 -
Swift 변수, 상수
Swift - 빠르게 동작하는 코드를 작성할 수 있는 언어. - 직관적인 문법으로 개발 속도를 향상시켜주고, 가독성을 높이고 유지보수의 부담감을 줄여줌. - main 함수가 없음. - 문장 끝에 세미콜론 생략. 변수, 상수 선언 1) var/let 변수명:자료형 = 변수값 2) var/let 변수명 = 변수값 - 선언하려는 변수의 수가 많고 동일한 자료형이면 한 줄에 여러개 선언 가능 - 한 줄에 서로 다른 자료형의 변수도 선언 가능 변수 이름 지정 법칙! - 변수명은 소문자로 시작 - 영문자, _ 로 시작할 수 있지만 숫자 및 다른 특수문자는 불가 - 예약어는 변수명으로 사용 불가 - 두 개 이상의 단어로 구성된 이름은 lowerCamelCase 규칙(첫글자는 소문자로, 단어가 바뀌면 대문자) 사용 상..
2020.04.20 -
Business Logic 구현 방법
ex) 항공권 티켓팅하는 기능을 구현해주세요! 라고 의뢰 1. service 인터페이스를 만들고 티켓팅하는 메소드 구현 - 이 때 고객에게 만들어달라고 하는 메소드가 맞는지 확인 - 리턴타입은 결과이고 매개변수는 메소드를 수행하기 위해 필요한 데이터 2. service 인터페이스를 implements한 클래스를 만들고 티켓팅하는 메소드를 구현 3. 유저 인터페이스와 메소드를 연결
2020.04.20 -
Abstract
abstract class(추상 클래스) - 인스턴스를 생성하지 못하는 클래스 - 변수를 선언할 수 있지만 생성자를 호출하지 못하는 클래스 - 다형성 구현을 위해 만들어진 클래스 abstract method - 내용이 없는 메소드 - 자바에서는 이 메소드는 추상 클래스나 인터페이스에만 존재해야 함. - 상속받은 클래스에서는 반드시 오버라이딩해서 내용을 만들어야 함. - 메소드의 결과형 앞에 abstract를 추가하면 됨. Interface - final상수와 abstract method 그리고 default method를 가진 것으로 protocol이라고 하기도 함. - 클래스를 만들 때 사용하는 class라는 예약어 대신에 interface라는 예약어를 사용해 생성 - 변수를 만들때 final을 붙이지..
2020.04.20