프로퍼티

코틀린의 프로퍼티는 자바의 필드와 비슷해보이지만 완전히 다른 개념 // kotlin val name: String? = null // java String name = null; 공통점 : 데이터를 저장 프로퍼티는 더 많은 기능이 존재 기본적으로 프로퍼티는 사용자 정의 세터/게터를 가질 수 있음 var name: String? = null get() = field?.toUpperCase() set(value) { if (!value.isNullOrBlank()) { field = value } } field 식별자 : 프로퍼티의 데이터를 저장해 두는 백킹 필드(backing field)에 대한 레퍼런스 백킹 필드는 세터와 게터의 디폴트 구현에 사용되며 따로 만들지 않아도 디폴트로 생성 됨 val을 사용해..
인터페이스에 선언된 프로퍼티 구현 코틀린에서는 인터페이스에 추상 프로퍼티를 선언할 수 있다. interface User{ val nickname: String } 이 인터페이스를 구현하는 세 클래스를 만들어보자. 이 세 클래스는 각각 다른 방식으로 추상 프로퍼티 nickname을 구현한다. // 주 생성자에있는 프로퍼티 class PrivateUser(override val nickname: String) : User // 커스텀 게터(nickname은 매번 호출될 때마다 substringBefore를 호출해 계산) class SubscribingUser(val email: String) : User{ override val nickname: String get() = email.substringBefo..
2.2 클래스와 프로퍼티 Java Bean 은 프로퍼티(필드)가 늘어나면 생성자의 본문에서 파라미터를 이름이 같은 필드에 대입하는 대입문의 수도 늘어난다. ex) Peron(String name) public class Person{ private final String name; public Person(String name){ this.name = name; } public String getName(){ return name; } } 코틀린에서는 그런 필드 대입 로직을 훨씬 더 적은 코드로 작성할 수 있다. class Person(val name:String) 이런 유형의 클래스(코드가 없이 데이터만 저장하는 클래스)를 값 객체(value object)라 부르며, 다양한 언어가 값 객체를 간결하게 ..
ApplicationContext는 프로파일과 프로퍼티를 다루는 EnvironmentCapable을 구현하여 사용한다. ApplicationContext extends EnvironmentCapable ... getEnvironment() 프로파일은 빈들의 그룹이라고 생각하면 된다. Environment의 역할은 활성화할 프로파일을 확인 및 설정. 만약에 테스트시에만 필요한 빈들이 있다면 프프로파일(테스트)을 정의하여, 사용하면 된다. 프로파일 정의하기 // 이 자바 config는 Test할때 사용할 꺼야. // Test할때는 TestBookRepository가 필요하거든... @Configuration @Profile("test") public class TestConfiguration { @Bean ..
속성(attribute)와 프로퍼티(property)의 차이속성(attribute)DOM을 어떻게 만들어낼 것인가에 대한 필수적인 항목 프로퍼티(property) 런타임 동안 엘리먼트 정보를 저장해두는 주요 수단이자 해당 정보에 어떤 방식으로 접근해야 하는지를 나타냄 DOM 속성과 프로퍼티엘리먼트의 속성 값에 접근할 때, 두 가지 방식이 존재한다. 하나는 전통적인 DOM메서드인 getAttribute와 setAttribute를 사용하는 방법 두번째는 접근하려는 속성과 대응하는 프로퍼티를 사용하는 방법 이다. test라는 변수를 통해 참조하고 있는 엘리먼트의 id값을 얻으려면 다음과 같은 방법을 사용할 수 있다. test.getAttribute(“id”) // 속성으로 얻어옴 test.id // 속성과 대..
스프링 프로퍼티 값 설정 방법 DI를 통해 빈에 주입되는 것은 두가지가 존재한다. (다른 빈 오브젝트의 레퍼런스, 단순 값) 단순 값은 스프링이 관리하는 빈이 아닌 모든것을 의미한다. @Value 애노테이션의 주요 용도는 자바 코드 외부의 리소스나 환경정보에 담긴 값을 사용하도록 지정해주는 데 있다. @Value("#") String username; 이 때는 database.username 속성이 정의된 database.properties파일을 XML에 지정해둬야 한다. 스프링 프로퍼티 파일을 이용한 값 설정 설정정보를 XML로 분리해두면 빈 클래스나 의존관계 정보를 소스코드 수정 없이도 간단히 조작할 수 있다. 때로는 XML에서 다시 일부 설정정보를 별도의 파일로 분리해두면 유용할 때가 있다. 서버환..
깡냉쓰
'프로퍼티' 태그의 글 목록