본문 바로가기

ETC/Study14

[Java] static, final, static final의 차이점 Static static은 고정된 이라는 뜻이다. 메모리를 공유하여 사용하기 때문에 필요할때 바로바로 호출하거나 데이터를 가져올 수 있게 된다. 즉, 객체 생성없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 활용한다. 공용데이터에 해당하거나 인스턴스 필드를 포함하지 않는 메소드를 선언하고자 할 때 이용한다. Final final은 최종적인 이라는 의미이다. 즉, 해당 변수는 값이 저장되면 최종적인 값이 되므로, 수정이 불가능하다는 의미이다. 주로 상수로 변수를 사용하기 위해 사용하거나 오버라이딩을 막기 위해 사용한다. 만약 클래스에 final을 사용하면 상속을 막아준다. 따라서 변수, 함수, 클래스의 명시적 제한을 나타내기 위해 사용하며, 이를 통해 다양한 팀 협업시 코드의 가독성을 높여주는 효과.. 2022. 8. 23.
[디자인 패턴] MVC, MVP, MVVM 차이 1. MVC MVC 패턴은 Model + View + Controller를 합친 용어입니다. MVC 패턴의 구조, 동작, 특징, 장점, 단점을 이야기하겠습니다. 1) 구조 MVC는 Model + View + Controller를 말합니다. Model : 어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분입니다. View : 사용자에서 보여지는 UI 부분입니다. Controller : 사용자의 입력(Action)을 받고 처리하는 부분입니다. 2) 동작 MVC 패턴의 동작 순서는 아래와 같습니다. 사용자의 Action들은 Controller에 들어오게 됩니다. Controller는 사용자의 Action를 확인하고, Model을 업데이트합니다. Controller는 Model을 나타내줄 View를 선.. 2022. 8. 23.
[Kotlin] 추상클래스, 인터페이스 차이 추상클래스 (Abstract Class) 추상클래스는 아직 구현되지 않고 선언만 된 추상메서드를 가지고 있는 클래스이다. 이 추상클래스는 메서드가 구현되지 않아서 이 클래스를 직접 객체로 만들 수는 없다! 반드시!! 반드시!! 상속을 받는 자식클래스 (SubClass) 가 있어야한다. 추상클래스는 상속을 통해 생성될 자식클래스에서 메서드 오버라이딩에 강제성을 부여하기 위해 사용된다. 예제를 보자. fun main(args : Array) { var tempClass : AbstractClass = SubClass() tempClass.generalMethod() tempClass.abstractMethod() } open abstract class AbstractClass { //자식 클래스에서 그냥 사.. 2022. 8. 5.
[Android] 4대 컴포넌트 컴포넌트 (Component) ? 컴포넌트는 구성 요소라는 뜻을 지니고 있다. 다시 말해서, 안드로이드 4대 컴포넌트는 안드로이드 앱을 구성하는데 필요한 4개의 요소를 의미한다. 안드로이드 4대 컴포넌트는 액티비티(Activity), 서비스(Service), 방송 수신자(BroadCast Receiver), 콘텐츠 제공자(Content Provider) 가 있다. 각 컴포넌트는 독립적인 형태로 존재하며, 고유한 기능을 수행하고 인텐트(Intent) 를 통해 상호작용한다. 1. 액티비티 (Activity) 액티비티는 사용자가 Application과 상호작용하며 실제로 사용자에게 보이는 화면을 의미한다. Application에 화면이 하나도 없으면, 사용자와 상호작용 할 수 없으므로 적어도 하나의 액티비티는.. 2022. 8. 4.