본문으로 바로가기

KTKO 개발 블로그와 여행 일기

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
관리자
  • 블로그 이미지
    ktko

    개발을 직업으로 삼고, 여행을 좋아하는 남자의 블로그

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

코틀린의 Any 그리고 Any? 대입 비교하기

Any 그리고 Any? 대입에 대해서 코틀린의 최상위 타입은 Any이다. 코틀린에서 타입을 정의할 때 null 안전을 위해 대입이 가능한 프로퍼티에는 명시적으로 ? 를 추가해야 한다. 여기서 궁금한 점은 Any 타입의 프로퍼티는 Any타입에 대입할수 있을까 ? 반대로 Any? 타입으로 선언한 프로퍼티는 Any타입에 대해서 대입할 수 있을까 ? 결과적으로 Any 타입은 Any? 타입에 대입할 수 있지만, 반대로 Any 타입은 Any 타입에 대입할 수 없다. Any ?

Kotlin 코틀린 2019. 2. 6. 01:44

코틀린의 클래스, 객체, 인터페이스

코틀린의 클래스와 인터페이스는 자바 클래스, 인터페이스와는 약간 다르다. 예를 들어 인터페이스에 프로퍼티 선언이 들어갈 수 있다. 자바와 달리 코틀린 선언은 기본적으로 final 이며 public 이다. 게다가 중첩 클래스는 기본적으로 내부 클래스가 아니다. 즉, 코틀린 중첩 클래스에는 외부 클래스에 대한 참조가 없다. 코틀린 인터페이스 코틀린 인터페이스는 자바 8 인터페이스와 비슷하다. 코틀린 인터페이스 안에는 추상 메서드뿐 아니라 구현이 있는 메서드도 정의할 수 있다. 다만 인터페이스에는 아무런 상태도 들어갈 수 없다. 아래 코드와 같이 코틀린에서 인터페이스를 정의할 수 있다. 123interface Clickable { fun click()} 클래스에 인터페이스를 상속받아 구현하는 방법을 아래에서 ..

Kotlin 코틀린 2019. 1. 8. 10:16

코틀린의 함수

코틀린에서 컬렉션 만들기 코틀린에서 컬렉션을 만드는 방법은 정말 간단하다. 또한 비슷한 방법으로 맵과 리스트를 만들 수 있다. 12345678910111213141516171819var set = hashSetOf(1,2,3)var list = listOf("1", "2", "3")var map = mapOf(1 to "one", 2 to "two", 3 to "three") for(data in set) { print("$data ")} println() for(data in list) { print("$data ")} println() for((key, value) in map) { println("$key : $value")} 위의 예제가 만든 객체는 자바의 클래스 또는 코틀린 클래스를 사용하는지 ..

Kotlin 코틀린 2019. 1. 4. 13:32

코틀린 기본 문법 정리

이번 포스팅에서는 아래와 같은 내용을 정리한다. 1. 함수, 변수, 클래스, enum 프로퍼티를 선언하는 방법2. 제어 구조3. 스마트 캐스트4. 예외 던지기와 예외 잡기 스마트 캐스트는 타입 검사와 타입 캐스트, 타입 강제 변환을 하나로 엮은 기능이다. 자세한 내용은 아래 내용을 참고하면 된다. 1. 함수와 변수 123fun main(args: Array) { println("Hello, World!");} 위에서는 프로그래밍의 시작인 Hello World!를 호출하는 함수이다. 여기에서 코틀린의 특징을 발견할 수 있는데 특징은 아래와 같다. 1. 함수는 fun으로 만든다.2. 파라미터 이름 뒤에 파라미터 타입을 쓴다.3. 함수를 최상위 수준에 정의한다. 자바는 클래스 안에 함수를 꼭 넣어야 하지만 코..

Kotlin 코틀린 2019. 1. 4. 00:26

코틀린이란 무엇이며 왜 필요한가 ?

코틀린은 무엇인가 ? 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다.코틀린의 주 목적은 자바가사용되고 있는 모든 용도에 적합하면서도 간결하고, 생산적이며 안전한 대체 언어를 제공하는 것이다. 코틀린의 장점 1. 간결하고 실용2. 자바 코드와의 상호운용3. 대부분의 자바 프로젝트에서 코틀린을 활용할 수 있다(안드로이드, 서버 개발 등), 인텔의 멀티 OS 엔진을 사용하여 iOS 에서도 실행 가능, 데스크탑 애플리케이션(코틀린, 토네이도FX), 자바FX에서도 사용 가능, 자바스크립트로도 코틀린 코드를 이용하여 브라우저나 노드에서 실행이 가능하다.4. 성능은 자바와 비슷하다.5. 안정성(null 체크, 타입 검사와 캐스트) 코틀린의 예제 코드 코틀린의 특징을 보여줄 수 있는 코드가 있는데 아래와..

Kotlin 코틀린 2019. 1. 3. 23:42

JAVA 또는 Tomcat JVM Heap 상태 확인하기

먼저 tomcat의 heap 변경을 위해서는 JVM 구조를 알아야 하고 기본적인 New, Old Generation 과 같은 개념을 알아야 한다. 블로그에 JVM에 대한 포스팅이 있으니 먼저 확인하고 읽길 바란다. 아래명령어로 자바 또는 톰캣의 프로세스 ID를 가져와야 한다. 12ps -ef | grep javaps -aux | grep tomcat 프로세스 아이디를 아래와 같이 입력하면 JVM 상태를 알 수 있다. 1jmap -heap [pid] 만약 Old Generation의 사용량이 지속적으로 증가한다면 memory leak을 의심해봐야 한다. New Generation, Old Generation으 비율은 기본 1:2이다. New, Old 비율은 업무 특성을 고려하여 적절하게 변경해야한다. 가급..

IT이것저것 2018. 11. 27. 20:57

[스프링/Spring] MockMvc 테스트

이번 포스팅에는 MVC 컨트롤러를 테스트하는 방법을 설명한다. 컨트롤러에 대한 테스트를 이야기하면 항상 나오는 질문이 있는데, 그것은 바로 컨트롤러에 대한 단위 테스트가 필요할까?라는 것이다. 컨트롤러의 주요 역할은 요청 경로와 처리 내용의 매핑, 입력값 검사, 요청한 데이터의 취득, 비지니스 로직 호출, 다음 이동 화면의 제어와 같은 기능을 하기 때문에, 정작 컨트롤러 자체에는 단위 테스트가필요할 만한 비지니스 로직이 존재하지 않는다. 우선 요청 경로와 처리 내용의 매핑이나 요청 데이터의 취득, 입력값 검사와 같은 부분은 스프링 MVC의 프레임워크 기능을 사용해야만 그 처리 결과가 제대로 됐는지 검증할 수 있다. 결국 이런 상황을 고려한다면 컨트롤러의 테스트는 일반적인 단위 테스트의 형태가 아니라, 스..

Spring 스프링 2018. 11. 27. 15:28
  • 이전
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 44
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (308)
    • 일기 (0)
    • 코드 예제 모음 (1)
      • [JAVA] 웹 크롤링 하기 (1)
    • HTML (1)
    • Java 개발 이야기 (33)
    • Spring 스프링 (16)
    • 자바 디자인 패턴 (13)
    • Effective Java (24)
      • 1장 객체의 생성과 삭제 (7)
      • 3장 클래스와 인터페이스 (3)
      • 7장 메서드 (6)
      • 8장 일반적인 프로그래밍 원칙들 (8)
    • Kotlin 코틀린 (10)
    • JavaScript (24)
    • vue.js (0)
    • node.js (2)
    • jQuery (10)
    • Ajax&JSON (7)
    • Android (12)
    • 알고리즘 및 자료구조 (94)
      • 자바로 만드는 자료구조 (4)
      • 정렬 (3)
      • 탐색 (3)
      • 이론 (2)
      • 문제 (82)
    • 보안 (3)
    • IT인터뷰면접질문 (6)
    • 정규표현식 (2)
    • Unix (2)
    • IT이것저것 (20)
    • 맛집 (4)
    • 여행 (10)
      • 호주 (4)
      • 일본 (6)
    • 블로그 TIPS (6)
    • 영어 공부 (8)
      • 영어 문법 (8)
      • 영어 단어 (0)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • jquery
  • 백준 알고리즘
  • 디자인 패턴
  • 자바스크립트
  • 백준알고리즘
  • 이펙티브 자바
  • GoF
  • 알고리즘
  • 코틀린
  • 객체지향 solid
  • 자바
  • 백준
  • 알고리즘 문제
  • 자바 SOLID
  • Effective Java
MORE+

ARCHIVE

CALENDAR

«   2025/06   »
일 월 화 수 목 금 토
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

LINK

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT KTKO 개발 블로그와 여행 일기, ALL RIGHT RESERVED.
KTKO 개발 블로그와 여행 일기
블로그 이미지 ktko 님의 블로그
MENU
  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
CATEGORY
  • 분류 전체보기 (308)
    • 일기 (0)
    • 코드 예제 모음 (1)
      • [JAVA] 웹 크롤링 하기 (1)
    • HTML (1)
    • Java 개발 이야기 (33)
    • Spring 스프링 (16)
    • 자바 디자인 패턴 (13)
    • Effective Java (24)
      • 1장 객체의 생성과 삭제 (7)
      • 3장 클래스와 인터페이스 (3)
      • 7장 메서드 (6)
      • 8장 일반적인 프로그래밍 원칙들 (8)
    • Kotlin 코틀린 (10)
    • JavaScript (24)
    • vue.js (0)
    • node.js (2)
    • jQuery (10)
    • Ajax&JSON (7)
    • Android (12)
    • 알고리즘 및 자료구조 (94)
      • 자바로 만드는 자료구조 (4)
      • 정렬 (3)
      • 탐색 (3)
      • 이론 (2)
      • 문제 (82)
    • 보안 (3)
    • IT인터뷰면접질문 (6)
    • 정규표현식 (2)
    • Unix (2)
    • IT이것저것 (20)
    • 맛집 (4)
    • 여행 (10)
      • 호주 (4)
      • 일본 (6)
    • 블로그 TIPS (6)
    • 영어 공부 (8)
      • 영어 문법 (8)
      • 영어 단어 (0)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바