본문 바로가기

전체 글151

Kotlin #7 : 정보 은닉 캡슐화 (연관, 의존, 집합, 구성) 230220 ++ 캡슐화(encapsulation) ++ - 클래스를 작성할 때 외부에서 숨겨야 하는 속성이나 기능 - 가시성 지시자(visibility modifiers)를 통해 외부 접근 범위를 결정할 수 있음 private: 이 지시자가 붙은 요소는 외부에서 접근할 수 없음 public: 이 요소는 어디서든 접근이 가능 (기본값) protected: 외부에서 접근할 수 없으나 하위 상속 요소에서는 가능 internal: 같은 정의의 모듈 내부에서는 접근이 가능 접근 제한자 최상위에서 사용할 때 클래스 멤버에서 사용할 때 public 모든 파일에서 가능 모든 클래스에서 가능 internal 같은 모듈 내에서 가능 같은 모듈 내에서 가능 protected 사용 불가 상속 관계의 하위 클래스에서만 가능 private.. 2023. 2. 20.
Kotlin #6 : 상속과 클래스 230217 ++ 상속(inheritance) ++ - 자식 클래스를 만들 때 상위 클래스(부모 클래스)의 속성과 기능을 물려받아 계승 - 상위(부모) 클래스의 프로퍼티와 메서드가 자식에 적용됨 - open 키워드를 통한 선언 open class 기반 클래스명 { // open으로 파생 가능 (다른 클래스가 상속 가능한 상태가 됨) ... } class 파생 클래스명 : 기반 클래스명() { // 기반 클래스로부터 상속, 최종 클래스로 파생 불가 ... } ** 코틀린의 모든 클래스는 묵시적으로 Any로부터 상속 (자바에서의 Object가 코틀린의 Any라고 생각하면 된다.) super(...) : 상위클래스 생성자 호출 ++ 다형성(polymorphism) ++ - 같은 이름을 사용하지만 구현 내용이 다르거나 매개.. 2023. 2. 20.
Kotlin #5 : 객체지향 프로그래밍 230216 Class 분류, 범주 Property 속성(Attribute), 변수(Variable), 필드(Field), 데이터(Data) Method 함수(Function), 동작(Operation), 행동(Behavior) Object 인스턴스(Instance) - 자바에서 사용하는 필드는 코틀린에서 프로퍼티로 부른다. ++ 클래스 선언 ++ - 클래스는 class 키워드로 선언 - 클래스의 본문에 입력하는 내용이 없다면 { }를 생략 - 클래스의 멤버는 생성자, 변수, 함수, 클래스로 구성 - 생성자는 constructor라는 키워드로 선언하는 함수 - 코틀린에서 class는 public이 디폴트 class Bird { // 프로퍼티... // 메서드... } - 객체를 생성해 사용하며 객체로 클래스의 멤버에.. 2023. 2. 17.
Kotlin #4 : 예외처리 230216 ++ 예외(exception) ++ - 실행 도중의 잠재적인 오류까지 검사할 수 없음 -> 실행되다가 비정상적으로 프로그램이 종료되는 경우 - 운영체제의 문제 (잘못된 시스템 호출의 문제) - 입력값의 문제 (존재하지 않는 파일 혹은, 숫자 입력란에 문자 입력 등) - 받아들일 수 없는 연산 (0으로 나누기 등) - 메모리의 할당 실패 및 부족 - 컴퓨터 기계 자체의 문제 (전원 문제, 망가진 기억 장치 등) try { 예외 발생 가능성 있는 문장 } catch (e: 예외처리 클래스명) { 예외를 처리하기 위한 문장 } finally { 반드시 실행되어야 하는 문장 } - ArithmeticException : 산술과 관련된 Exception - 스택의 추적 : e.printStackTrace() ->.. 2023. 2. 16.
Kotlin #3 : 기본 연산자, 비트 연산자, 변수와 함수, 반복문, 조건문, 람다식 230213 ++ 기본 연산자 ++ - 산술, 대입, 증가, 감소, 비교, 논리 연산자... - 산술 연산자 operator description example + 덧셈 1+2 - 뺄셈 2-1 * 곱셈 3*5 / 나눗셈 10/3 % 나머지(Modulus) 10%3 - 대입 연산자 operator description example = 오른쪽 항의 내용을 왼쪽 항에 대입 num = 2 += 두 항을 더한 후 왼쪽 항에 대입 num += 2 -= 왼쪽 항을 오른쪽 항으로 뺀 후 왼쪽 항에 대입 num -=2 *= 두 항을 곱한 후 왼쪽 항에 대입 num *=2 /= 왼쪽 항을 오른쪽 항으로 나눈 후 왼쪽 항에 대입 num /= 2 %= 왼쪽 항을 오른쪽 항으로 나머지 연산 후 왼쪽 항에 대입 num %= 2 - 증감 연.. 2023. 2. 15.
Kotlin #2 : 변수, 함수, null, 세이프콜, 엘비스 연산자, 스마트 캐스트 230213 ++ 변수 ++ - Int, Short, Long, Double, Float, Byte, Boolean : 기초 타입 객체 - Char, String : 문자와 문자열 String 타입의 데이터는 문자열을 큰따옴표(“)나 삼중 따옴표(“””)로 감싸서 표현 String Pool이라는 공간에 구성 - 코틀린의 표현식은 $기호 ex) $a 혹은 중괄호 이용 ${a+2} - Any : 모든 타입 가능, 들어오는 데이터에 제약을 받지 않음 - Unit : 반환문이 없는 함수, 자바의 반환형 void 와 비슷 (기본형) ++ for 구문 ++ - of 예약어 : 반복 가능한 객체(iterable)를 순회 - in 예약어 : 객체의 모든 '열거할 수 있는 속성들'을 순회 ++ null ++ - null을 허용한 변.. 2023. 2. 13.
Kotlin #1 : 기본 설정, 기초문법 230210 ++ 코틀린 ++ - 코틀린은 젯브레인스(JetBrains)에서 오픈소스 그룹을 만들어 개발한 프로그래밍 언어 - 2017년 구글에서 안드로이드 공식 언어로 지정 - JVM에 기반을 둔 언어 - 최신 언어 기법을 이용 -> 훨씬 간결한 구문으로 프로그램을 작성 가능 - 코틀린은 null safety을 지원하는 언어 - 코틀린은 자바와 100% 호환 - 코루틴coroutines이라는 기법을 이용하면 비동기 프로그래밍을 간소화할 수 있음 ==> 자바언어에서 정말 간략화되었다! 실습 #1 초기화면. empty로 선택해서 프로젝트 생성 프로젝트 이름은 Test로 했고, 언어는 Kotlin으로 설정했다. 자파 패키지 - 오른쪽 마우스(우클릭) - New - Kotlin Class/File Test 입력하고 엔터 .. 2023. 2. 10.
스프링부트 #2 : Spring Boot gradle build tiles (controller, dao, vo, service) spring to springboot -230208 1. @Repository ① 구조 >> @Controller - @Service - @Repository(구현객체인 DAO에 있는 것) - Mapper.xml ② 에 SqlSessionFactory와 SqlSessionTemplate을 추가해준다 ③ @Autowired를 통해 DAO클래스에 의존성을 주입(DI)한다 2. @Mapper ① 구조 >> @Controller - @Service - @Mapper - Mapper.xml ② MyBatis 3.0부터 지원하는 기능이다. ③ @Mapper에서 interface로 작성 후, 따로 implements(구현)을 하지 않는다. ④ @Mapper에 작성한 메소드이름과 Mapper.xml에 작성한 Sql id는 일치해야 한다. ⑤ Mapper.xml의 nam.. 2023. 2. 10.
스프링부트 #1 : Spring Boot 프로젝트 실행해보기(maven, gradle) -230207 ++ 스프링 부트 (Spring Boot) ++ - 메이븐의 라이브러리 자동 업데이트 기능을 이어받으면서 기존 스프링 프레임워크의 복잡한 설정 과정은 최대한 줄이면서 개발 가능 - 배포 또는 테스트를 스프링 프레임워크보다 쉽고 빠르게 할 수 있음 - 일반적인 응용 프로그램을 단독으로 실행하는 수준으로 스프링 애플리케이션을 구현 가능 - 프로젝트 환경을 구축할 때 필요한 톰캣, Jetty, UnderFlow 같은 서버 외적인 툴이 내장 (따로 설치x) - XML 기반 설정이나 코드 없이 환경 설정을 자동화할 수 있음 - 의존성 관리를 쉽게 자동으로 할 수 있음 ** Spring에서의 servlet-context, app-servlet이 자동화된다! Spring Boot 환경설정하기(maven) STS4 다.. 2023. 2. 8.