개념
잘쓰는 자료구조 -> 리스트나 배열 90%쯤 커버가능 리스트중에 자바같은 경우에 어레이리스트랑 많이쓴다. 그리고 맵 중에 해시맵을 많이 쓴다
Array List -> 자료를 받는 구조
Call by reference, Call by value
- 함수 안에서 매개변수 값을 바꾸면 바깥에 영향이 있는지 없는지 ㅏ차이요
- 메모리를 절약할 수 있다
Return가 가지는 두가지 의미
Return을 사용해야하는 이유
- 타입이있는 리턴을 사용해야좋다
- 호출부와 함수부분을 연결해주기 때문에
- 항상 똑같은 일을하고 반환할필요없는건 리턴을 할필요없다
- 객체와 객체를 연결해주기때문에 서로 메소드를 리턴값을 주고받음으로써 통신을 하니까
- 메소드에 리턴이없으면 잘쓰고 있나 의심해봐야한다
재귀 (Recursion): 되풀이, 반복
- 함수 자기자신을 호출
- 직관적으로 코딩을 잘할수있따
- 성능은 안좋은데 개발자의 머리가 좋아질수있따
- 함수형 프로그램이 유행인데, 웹스케일에서 거대한것을 처리하려고 병렬화를하는데 그걸 잘처리하려면 함수형을 권장한다.
- 종료조건을 반드시 명확하게 먼저 기술해주는 게 좋다
- 매개변수를 감소하는 쪽으로 짜는게 초보에게는 편해요
- 연습문제 하노이타워 추천
객체지향의 장점
- 거대한 프로그램을 짜기쉽다
- 유지보수가 더 간편해졌더라
- 객체지향 가장 중요한것은? -> 객체!!!!
- 유지보수의 용이
- 복잡한 대형프로그램 작성 가능
- 다형성
- 추상화
- 은닉
- 캡슐화
클래스란 무엇인가
- 사용자 정의 데이터타입 with methods, 기본적으로 가지는 프리머티브로 안될때
- 상태와 행위를 가지는 어떤 것 (상태: 멤버변수 행동: 메소드)
- 클래스를 메모리에 올리면 인스턴스 = 객체가 된다
- 객체 지향 프로그래밍은 객체끼리 행동하며 메시지를 주고 받는다
- 프로그램 내에서 객체는 자기만의 역할과 책임을 가진다
개인 질문
- 연달아서 입력을 어떻게 받는지 -> split. 배열에다가 담았다 (by Shion)
- null이랑 큰따옴표랑 같은건가? ->
- 숫자뒤에 L 붙으면 뭐지? ->
- init 함수가 뭐지? ->
- 예를들어서 몬스터 엄청 많아지면 어떤식으로 관리해나요? 어떻게설명해야할지 모르겠는데 디렉토리로 예를들자면 최상위클래스파일안에 몬스터라는 폴더안에 다 저장하고싶은데 만약에 그런식으해도 게임클래스에서 불러올수있나요? -> 패키지를 만들어서 게임클래스 안에서 임포트해서 쓴다
학습자료
그외 호눅스 말말말
- 코드 나누고싶을때 그냥 만들어서 호출부터해봐 몸통안만드렁도 돼!!!
- public은 잘 안쓰는ㄱ ㅔ좋다
- 매직되어있는? 코드는 가능하면 피해서 작성해
- 객체는 행동이 중요하다!!!!!
- 객체를 담는데 순서를 상관없으면 리스트 상관있으면 맵
- class abstract Monster 몬스란 몬스터는 없고 피카츄나 꼬부기가 있다
안녕하세요 Kyu! 노을입니다. 저도 어제 velog 시작했어요!
종종 놀러올게요!