본문 바로가기
버킷리스트/앱 만들기

오공완(with 코드팩토리의 플러터 프로그래밍) #2-1 다트 객체지향 프로그래밍(클래스)

by 또또도전 2024. 7. 6.
반응형

// 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.

플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.

오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.

 

순서가 객체지형 프로그래밍의 필요성, 클래스, 상속, 오버라이드, 인터페이스, 믹스인, 추상, 제네릭, 스태틱, 캐스케이드연산자 순이란다. 토 나온다.. 빠르게 가자~!!

 

  클래스

 

클래스는 일종의 설계도, 데이터가 보유할 속성과 기능을 설명하는 자료 구조.

클래스는 설계도, 인스턴스는 실물 아파트. 인스턴스화 되어야 실제 사용할 수 있는 데이터가 생성도니다고..

인스턴스: 클래스를 이용해서 객체를 선언하면 해당객체를 클래스의 인스턴스라고 부름.

인스턴스화: 클래스에서 인스턴스(객체)를 생성하는 과정

 

아이돌 클래스(이름, 나이) -> 아이돌 인스턴스(이름: 제니, 나이: 24), 아이돌 인스턴스(이름: 로제, 나이 26)

얼핏 감이 오는 거 같다.

 

멤버변수: 클래스 안 종속된 변수

메서드: 클래스 안 함수

 - 함수는 메서드 보다 더 큰 개념이라고..

함수 내부에 같은 이름의 변수가 없으면 this 생략 가능.

 

생성자: 클래스의 인스턴스를 생성하는 메서드

매개변수에 저장하는 과정을 생략해서 아래처럼 코드를 짤 수도..

 

네임드 생성자: 클래스를 생성하는 여러 방법을 명시하고 싶을 때 사용. ','을 사용해서 하나 이상의 매개변수를 처리할 수 있다고.. 네임드 생성자를 {클래스명.네임드 생성자명} 형식으로 지정하면 된다고..

 

void main()을 어디에 붙이라는 말이 없어서 아래에도 붙여보고 위에도 붙여봤는데 둘다 작동을 한다. 

 

아래는 지난 번 비슷한 지점에서 오류가 난 걸로 보이는 코드를 책에 맞춰 바꿔 보았다. 내가 유튜브 영상을 잘못 본 것일 수도 있는데, 느낌상? 오류난 코드는 네임드 생상자 형식으로 지정된 거인지 void안 값 지정이 이상하다.

 

유튜브를 다시 보고 코드를 입력해 보고 싶지만, 책을 보면서 시키지 않은 짓? 해서 시간을 소비했기에 다음으로 넘어가자.

 

프라이빗 변수: 같은 파일에서만 접근 가능한 변수(다른 언어에서는 클래스 내부에서만 사용하는 변수), '_'를 이용하여 변수명 지정.

 

게터: 값을 가져올 때 사용

세터: 값을 지정할 때 사용, 세터는 거의 사용하지 않고, 게터는 종종 사용한다고.. 이런 게 있단 정도만 알고 넘어가자는데, 그럼 전 모르는 것으로 하겠습니다~^^;;

 

세터와 게터가 모두 사용되었다고 한다~~

 

상속: extends를 사용. 한 클래스의 기능을 다른 클래스에서 사용하게 함. extends 앞은 자식 클래스 뒤에는 부모 클래스 순서로 지정. super는 부모 클래스를 말함.

 

자식들 간에는 메서드 호출이 되지 않는다. 한 번 해보라고 해서 해 봤다.

 

그래서 이렇게 수정해 보았다.

 

오늘은 여기까지..

반응형