woong's

Android Kotlin VO 사용하기 본문

Develop/Android

Android Kotlin VO 사용하기

dlsdnd345 2017. 12. 10. 18:24

Android Kotlin VO 사용하기


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//JAVA
public class UserVO {
 
    private Long id;
    private Long userName;
    private Long fullName;
    private Long profilePicture;
 
    public Long getId() {
        return id;
    }
 
    public void setId(Long id) {
        this.id = id;
    }
 
    public Long getUserName() {
        return userName;
    }
 
    public void setUserName(Long userName) {
        this.userName = userName;
    }
 
    public Long getFullName() {
        return fullName;
    }
 
    public void setFullName(Long fullName) {
        this.fullName = fullName;
    }
 
    public Long getProfilePicture() {
        return profilePicture;
    }
 
    public void setProfilePicture(Long profilePicture) {
        this.profilePicture = profilePicture;
    }
}
 
 
//Kotlin
class UserVO {
 
    var id: Long = 0
    var username: String = ""
    var full_name: String = ""
    var profile_picture: String = ""
}


cs


위의 코드는 자바 코드와 코틀린 코드로 VO 작성한 코드입니다.

자바에서는 get/set 코드를 사용하지만 코틀린에서는 get/set 함수를 따로 지정하지 않습니다.


1
2
3
4
var userVO = UserVO()
    userVO.id = 1234
    userVO.username = "woong"
    userVO.full_name = ""
cs


VO 를 생성하고 데이터를 저장하는 코드입니다. 생성자를 통해서 데이터를 전달하고 싶은 경우에는

아래와 같이 작성하면 됩니다. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class UserVO {
 
    constructor()
 
    constructor(id: Long, username: String, full_name: String, profile_picture: String) {
        this.id = id
        this.username = username
        this.full_name = full_name
        this.profile_picture = profile_picture
    }
 
    var id: Long = 0
    var username: String = ""
    var full_name: String = ""
    var profile_picture: String = ""
}
cs


constructor 예약어를 통해서 생성자는 만들수 있습니다. 

첫번째 constructor() 는 기본 생성자를 유지해주기 위한 생성자 입니다.

두번째 constructor() 는 파라미터를 통해서 변수를 초기화하기위한 constructor 입니다. 


생성자가 하나만 사용하는경우 아래와 같이 표현도 가능 합니다.


1
2
3
4
5
6
7
class UserVO(id: Long, username: String, full_name: String, profile_picture: String) {
 
    var id: Long = id
    var username: String = username
    var full_name: String = full_name
    var profile_picture: String = profile_picture
}
cs



생성자를 통해 데이터를 전달하기 위해서는 아래와 같이 사용하면 되겠습니다.


1
var userVO = UserVO(1234L,"name","fullName","profilePicture")
cs











Comments