분류 전체보기 55

Git 파일의 네 가지 상태 - Untracked, Unmodified, Modified, Staged

Git은 리눅스 프로젝트의 관리를 위해 리눅스 토르발즈가 만들어낸 형상관리 툴이다.처음 터미널로 git을 쓸 때 뭐가 뭔지도 모르겠고 너무 복잡해서 열심히 강의를 들었는데, 그중 생활코딩님의 강의 OT가 내 마음속 git과의 거리를 좁히는데 큰 도움이 되었다. git이 어려운 게 아니라 git이 하는 일이 어려운 거라서, git이 무엇을 하는지만 파악하면 어려울 게 없다. 그리고 드롭박스가 일반인들을 위한 git을 (유료로) 만든 프로젝트라고 하니 너무 어려울 때는 드롭박스를 생각하자! 만약 git이 처음인 사람들이 있다면, 이 말을 듣고 자신감을 얻었으면 좋겠다!! 그럼 이제 본론으로 넘어가 보자. UX 공작소 블로그의 '그림으로 보는 git 개념'에 완벽한 그림이 있길래 참고용으로 가져왔다. Git은..

기타 툴/Git 2022.10.04

Kotlin의 class(4) - Enum class

enum은 enumerated 의 약자로, Enum class는 열거하는 값들의 클래스라고 볼 수 있다. 어떤 변수의 값이 여러개의 옵션 중의 하나로 결정될 때 사용하면 좋다. ex) 동서남북, 요일 등 기본 사용법 각 enum은 쉼표( , )로 구분한다. 내부적으로 Comparable interface를 구현하고 있어서, toString( )을 포함한 편리한 기능을 추가 구현 없이 사용할 수 있다. enum class Direction { NORTH, SOUTH, WEST, EAST } val directions: Array = Direction.values() // 모든 타입 인스턴스를 배열로 받는다. 속성값과 메소드 enum class의 각 enum은 속성값과 abstract function을 가질..

Kotlin의 class(3) - Nested and inner classes

Nested and inner classes 클래스 내부에서 클래스를 선언하는 것이 가능하다. Interface도 클래스처럼 생각하고 사용하면 된다. class Outer { private val bar: Int = 1 class Nested { fun foo() = 2} } interface OuterInterface { class InnerClass interface InnerInterface } class OuterClass { class InnerClass interface InnerInterface } 이때 한 클래스의 소속이라는 것을 더 강조해주고 싶다면 inner 를 사용한다. inner class에서는 outer class의 속성에 접근하는 것이 가능하다. class Outer { priv..

Kotlin의 class(2) - abstract class와 interface

상속 - open Kotlin에 equals(), hashCode(), toString() 메서드를 가지는 Any라는 클래스가 있는데, Kotlin의 모든 클래스는 이 Any를 상속받는 자식 클래스이다. Any를 상속받는건 간단하지만 내가 만든 클래스를 다시 내가 만들 클래스에 물려주는 것은 그냥은 안된다. open 키워드를 사용해서 정확이 이 클래스가 상속될 것임을 알려줘야한다. open class Base(p: Int){ open fun able(){...} // override 가능 fun forbidden(){...} // 불가능 open val over = 0 } // 부모 클래스는 반드시 primary constructor를 사용해서 초기화되어야한다. class Derived(p: Int) :..

Kotlin의 class(1) - 생성 및 상속

class란? 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀(template)이다. 객체를 정의하기 위한 메소드와 변수로 구성된다. (출처 : 위키백과) Kotlin에서 클래스를 만들 때는 class 키워드 뒤에 클래스 이름을 적고, {} 안에 원하는 내용을 적어주면 된다. 이때 body가 없는 경우에는 중괄호를 생략할 수 있다. ex) class Person{} Constructor 해당 클래스의 인스턴스를 실제로 생성하는(초기화하는) 방식을 정의하는 특수한 메서드. 1. primary constructor 클래스 이름과 body 사이에 받을 값을 선언한다. class MyClass(name: String, age: Int) { private val n..