운동 시작 전 5분 스트레칭

벤치 프레스
- 20kg * 10
- 40kg * 10
- 50kg * 10
- 60kg * 5
- 60kg * 5
- 60kg * 4
- 50kg * 8
- 50kg * 5
- 50kg * 5
- 50kg * 4

인클라인 프레스(머신)
- 40kg * 10
- 50kg * 10
- 50kg * 10
- 50kg * 10
- 50kg * 10

딥스
- 맨몸 * 8
- 맨몸 * 7
- 맨몸 * 5
- 35kg * 8
- 35kg * 8
- 35kg * 8

케이블 푸시다운
- 25kg * 10
- 30kg * 10
- 30kg * 10
- 30kg * 10
- 30kg * 8

행잉 레그레이즈
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 8
- 맨몸 * 8

자바와 비교하여 코틀린의 특징이 무엇이고 어떠한 점이 더 나은지 살펴보겠다.

  • 간결한 문법

문장 끝에 세미콜론(;)을 붙이지 않아도 된다.

val tmp: String = "Hello"

객체를 생성할 때 new 키워드를 사용하지 않고 생성한다.

User user = new User();

(자바의 경우)

val user = User()

(코틀린의 경우)

타입 추론을 지원하기 때문에 일반적인 경우에는 타입을 적지 않아도 된다.

String str = "Hello";
int a = 10;
val str = "Hello"
val a = 10

위의 코드에서 자바는 타입을 적어줘야 한다.

하지만 코틀린에서는 타입을 적지 않아도 컴파일러가 자동으로 타입 추론을 해준다.

 

  • Null 안정성

코틀린에서는 기본적으로 Null 값을 허용하지 않기 때문에 런타임에서 발생하는 오류를 줄일 수 있다.

val a = 10 // null 값을 허용하지 않는 Int 타입 변수

val str: String? = null // null 값을 허용하는 String 타입 변수

 

  • var, val 키워드를 통해 가변/불변 구분

코틀린에서는 두 개의 키워드를 통해 변수의 가변/불변을 설정할 수 있다.

var 키워드는 할당된 변수를 변경할 수 있다.

val 키워드는 할당된 변수를 변경할 수 없다.

val 키워드는 자바에서 final 키워드와 유사한 기능을 한다고 볼 수 있다.

val a = 10

a = 20 // 컴파일 에러

var b = 200

b = 300 // 정상

안드로이드 스튜디오에서는 var 키워드 변수가 해당 클래스에서 변경되지 않으면 경고 메시지가 뜬다.

그렇기 때문에 변경되지 않는 변수라면 val 키워드를 쓰도록 하자.

  • 람다식 지원

코틀린에서는 람다식을 기본으로 지원하기 때문에 특별한 제약 없이 코드를 간소화할 수 있다.

안드로이드에서 자주 쓰는 onClickListener로 예를 들어보겠다.

Button button1 = (Button)findViewById(R.id.button1); // layout에 button1이 있다고 가정

button1.setOnClickListener(new View.OnClickListener(){
	@Override
    public void onClick(View view){
    	Toast.makeText(this, "button을 클릭했습니다.", Toast.LENGTH_LONG).show();
    }
});
button1.setOnClickListener{
	Toast.makeText(this, "button을 클릭했습니다.", Toast.LENGTH_LONG).show()
}

자바와 비교하여 코드 수를 많이 줄여 가독성을 높일 수 있다.

 

  • 스트림 API 지원

코틀린에서는 스트림 API와 유사한 역할을 하는 함수들을 코틀린 표준 라이브러리를 통해 제공한다.

안드로이드 플랫폼 버전과 상관없이 사용할 수 있는 장점이 있다.

val items = listOf(10, 2, 3, 5, 6)

val sumofEvens = items.filter { it % 2 == 0}.sum()

스트림 지원과 관련해서는 추후에 더 자세히 다루도록 하겠다.

 

  • 변수 선언 방법

위에서 이미 자바와 다른 방법을 통해 변수를 선언했다.

자바에서는 타입을 먼저 적고 변수명을 그다음 적는다.

하지만 코틀린에서는 변수명을 먼저 적고 그 다음 타입을 적는다.(때에 따라서 타입 생략 가능)

 

  • 함수 선언 방법

자바와 코틀린의 큰 차이점 중 하나는 함수 선언 방법에 있다.

public int getAge(){
	return 10;
}
fun getAge(): Int{
	return 10
}

코틀린에서는 fun 키워드를 통해 함수를 선언한다.

또한, 리턴 타입을 함수명 뒤에 콜론(:)을 붙이고 선언한다.


이 글은 차세대 안드로이드 개발자를 위한 커니의 코틀린 책을 참고하였다.

운동 시작 전 5분 스트레칭

사이드 레터럴 레이즈
- 3kg * 10
- 5kg * 10
- 7kg * 10(반 가동범위) 5kg * 10(풀 가동범위)
- 7kg * 10, 5kg * 10
- 7kg * 10, 5kg * 10
- 7kg * 10, 5kg * 10
- 7kg * 10, 5kg * 8

덤벨 프레스
- 10kg * 10
- 10kg * 10
- 10kg * 10
- 10kg * 10
- 10kg * 10

팩 덱 플라이
- 15kg * 10
- 20kg * 10
- 25kg * 6
- 20kg * 10
- 20kg * 10
- 20kg * 10

밀리터리 프레스
- 20kg * 10
- 30kg * 10
- 30kg * 10
- 30kg * 10

행잉 레그레이즈
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 10

운동 시작 전 5분 스트레칭

랫 풀 다운
- 25kg * 10
- 30kg * 10
- 35kg * 10
- 40kg * 10
- 40kg * 10
- 40kg * 8
- 35kg * 10
- 35kg * 8
- 35kg * 6

시티드 로우
- 25kg * 10
- 30kg * 10
- 30kg * 10
- 30kg * 10
- 35kg * 8
- 35kg * 7

운동 시작 전 5분 스트레칭

벤치 프레스
- 20kg * 10
- 40kg * 10
- 60kg * 6
- 60kg * 5
- 50kg * 8
- 50kg * 6

인클라인 덤벨 프레스
- 12kg * 10
- 12kg * 10
- 12kg * 10
- 15kg * 10
- 15kg * 8

딥스
- 맨몸 * 10
- 맨몸 * 7
- 맨몸 * 7
- 맨몸 * 7

케이블 푸시다운
- 25kg * 10
- 30kg * 10
- 30kg * 10
- 30kg * 10
- 30kg * 8

행잉 레그레이즈
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 9
- 맨몸 * 8

케이블 크런치
- 45kg * 10
- 45kg * 10
- 45kg * 8
- 45kg * 8

운동 시작 전 5분 스트레칭

사이드 레터럴 레이즈
- 3kg * 10
- 5kg * 10
- 7kg * 10(가동범위 조금) 5kg * 10 슈퍼세트
- 7kg * 10 5kg * 10
- 7kg * 10 5kg * 8
- 7kg * 10 4kg * 8

덤벨 숄더 프레스
- 10kg * 10
- 10kg * 10
- 10kg * 10
- 10kg * 10
- 10kg * 10

팩 덱 플라이
- 15kg * 10
- 20kg * 10
- 20kg * 10
- 20kg * 10
- 20kg * 10

행잉 레그레이즈
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 8
- 맨몸 * 8

크런치
- 맨몸 * 10
- 맨몸 * 10

운동 시작 전 5분 스트레칭

보조 풀업
- 45kg * 10
- 45kg * 10
- 45kg * 8

랫풀 다운
- 25kg * 10
- 30kg * 10
- 35kg * 10
- 40kg * 10
- 45kg * 6
- 40kg * 8
- 35kg * 10
- 30kg * 10
- 25kg * 10

시티드 로우
- 25kg * 10
- 30kg * 10
- 30kg * 8
- 30kg * 8
- 30kg * 7

바벨 로우
- 20kg * 10
- 30kg * 10
- 30kg * 8
- 30kg * 8
- 30kg * 7

덤벨 컬
- 5kg * 10
- 5kg * 10
- 5kg * 10
- 5kg * 8
- 5kg * 7

행잉 레그레이즈
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 10

운동 시작 전 5분 스트레칭

벤치 프레스
- 20kg * 10
- 40kg * 10
- 50kg * 10
- 50kg * 9
- 50kg * 8
- 50kg * 7
- 50kg * 6

인클라인 덤벨 프레스
- 15kg * 10
- 15kg * 10
- 15kg * 8
- 10kg * 10
- 10kg * 10
- 12kg * 10

행잉 레그레이즈
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 10
- 맨몸 * 7

+ Recent posts