inflearn logo
강의

Course

Instructor

Kangsam's Beginner Android One Day Class - Part 2 Understanding Kotlin

03-1 Kotlin Language Introduction #3 - Kotlin File Structure - LAB

아까설명해주신거에 차이가 궁금해요!

Resolved

99

hyunjun

5 asked

0

혹시 클래스 안에 들어가는 변수함수와 클래스 전 줄에 들어간다는 변수함수는 무슨차이이고 class는 왜필요하고 뜻은 무엇인가요

android kotlin lambda kotlin-companion nullsafe

Answer 2

0

kkang

클래스는 관련된 변수와 함수를 묶는 프로그램의 단위 입니다. 만약 어떤 클래스내에 변수, 함수가 선언된다면 그 변수, 함수를 클래스의 멤버라고 부릅니다. 그런데 변수, 함수중 어떤 클래스와 관련이 없다면 클래스 밖에 선언할 수 있습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. hyunjun님.

클래스 내부에 선언되는 변수와 메소드(함수) 그리고 클래스 외부에 선언되는 경우, 그리고 클래스 자체의 개념에 대해 간단히 설명드리겠습니다.

  1. 클래스와 객체:

    • 클래스는 객체를 생성하기 위한 설계도입니다. 객체라는 것은 이 클래스를 바탕으로 만들어진 실체를 말하며, 프로그램에서 데이터를 저장하고 조작하는 데 사용됩니다.
    • 클래스는 여러 개의 멤버(변수와 함수)를 가질 수 있습니다.
  2. 클래스 내부 변수와 함수:

    • 클래스 내부에 선언된 변수는 ‘멤버 변수’라고 하며, 해당 객체의 상태(state)를 저장합니다.
    • 클래스 내부에 선언된 함수는 ‘메소드’라고 합니다. 이들은 객체가 가진 데이터를 처리하거나 객체의 동작을 정의합니다.
  3. 클래스와 전역(또는 외부) 변수 및 함수:

    • 클래스 외부에 선언되는 변수나 함수는 특정 객체의 멤버가 아니기 때문에 전역 변수전역 함수라고 부를 수 있습니다. 이러한 것들은 싱글톤 객체나 컴패니언 객체에서 관리될 수도 있지만, 객체 지향적인 관점에서는 주로 피하는 것이 좋습니다.
    • 전역 변수는 프로그램이 실행되는 동안 어느 곳에서든 참조할 수 있으며, 클래스 내부 변수에 비해 응용이 넓지 않지만 더 쉽게 접근할 수 있습니다.
  4. 클래스의 필요성:

    • 클래스를 사용하는 주된 이유는 데이터와 해당 데이터를 다루는 코드(메소드)를 함께 묶어 관리하기 위함입니다. 이는 코드의 가독성재사용성을 높이는 데 매우 유리합니다.
    • 또 다른 이유는 추상화, 캡슐화 등을 지원함으로써 프로그래밍을 더 명확하고 안정적으로 할 수 있도록 도와줍니다.

보다 심층적인 개념은 학습하시면서 경험과 함께 쌓이게 되며, 실제로 적용해 봄으로써 더 명확히 이해하실 수 있습니다. 관련 질문에 대한 답변이 이전에 이곳에 제공된 적이 있으니 참고해 보시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

실무 내용 문의드려요

0

23

2

앱 초기 진입시 전면광고 관련 질문

0

50

2

원하지 않은 외국인 유입

0

77

2

페이징 처리에서 offset/limit에 대한 질문

1

56

1

안녕하세요 질문있습니다.

0

46

2

프로젝트 의존 관계

0

53

2

usecase 사용 기준

1

68

2

android crud중 c 영상이 12초만 있는 잘린 영상이에요.

0

50

2

6강에 비디오가 이상해요

0

46

2

진입 여부 판단 기준 질문

0

150

3

피그마 first draft 기능 질문

0

89

3

upup 질문

0

104

2

data.ai 필터링 검색이 안됩니다!

0

77

1

다양한 관점의 코드 경험을 위해 개선하지 않은 코드

1

73

1

앱 리텐션에 대한 질문

0

82

2

저예산+최대지출 캠페인 유지시간

0

98

2

강의가 검은 화면으로 나옵니다.

0

64

1

histories() 응답에 PointHistory.id를 포함한 이유가 궁금합니다/

1

57

2

DI시 eager과 lazy

0

60

2

타입스크립트

0

64

1

모듈

0

97

1

java.util

0

83

1

저 엄청 초보인데

0

125

3

val로 선언한 List는 변경이 가능한가요?

1

247

1