국비 수업 듣기 전 선수학습으로 'Do it! 자바프로그래밍 입문'과 '생활코딩 - Java 입문 수업'을 통해서 기초 지식을 얻고 있는 중이다. 현재 유튜브로 Overloading까지 배웠으며 가지고 있는 책의 진도는 처음부터 나가기 보다는 유튜브 강의 진도에 맞춰 보조 교재로 활용중이다.
Javascript 문법과 비슷한 부분이 많아 이해하는데 크게 어렵지 않았다. 기본 문법(연산자, 조건문, 반복문 등등)은 쉽게 넘어갔고, 메소드라는 단어가 함수와 똑같은 단어인데, 사실 Js에서는 메소드가 다른 의미를 가지고 있어서 헷갈리는 부분이었다. 이 부분은 얼른 뇌를 바꿔서 머리속에 집어넣어야 겠다.
클래스와 상속에 대해서 좀 더 자세히 이해하게 되었다. 예전에 파이썬으로 클래스를 공부했을때는 진짜 단 1도 이해가 안되서 그냥 대충 코드 따라만 적고 넘어갔는데, 이게 왠걸! 오히려 그렇게라도 했던 부분이 지금 많이 도움이 되었다. 물론 언어 자체가 다르지만 '클래스'라는 정의나 성격에 대해서 이해가 한결 수월했다. 이전에 '나도코딩'님의 파이썬으로 스타크래프트 게임 만들기를 생각하면 클래스의 정의가 쉽게 다가 오는 것 같다.
class Terran {
int hp, atk, def;
public Terran(){}
public Terran(int hp, int atk, int def){
this.hp = hp;
this.atk = atk;
this.def = def;
}
}
'Terran'이라는 클래스를 만들어놓고 그 안에서 'Marine', 'Firebat', 'Vulture' 등을 뽑을 때에는 'Terran'을 상속받는 각자의 인스턴스로 만들어서 생성하는 것이다. 그렇게 되면 그 인스턴스들은 생성될 때 'Terran' 클래스의 속성인 hp, atk, def를 가지고 만들수있는 것이다. 거기에 추가로 각 인스턴스 마다 새로운 능력을 줄때에는 새로운 메소드를 만들어서 호출하면 되는 것이다.
그리고 그 인스턴스는 super(hp, atk, def)를 사용해서 생성자를 만들면 될 것이다.
간단하게 이런식으로 머릿속에 정리를 해놓았다. 디테일한 예제는 책을 통해서 문제들을 풀어볼 예정이다.
이클립스랑 자바도 없는 상황에서 일단 까먹기 전에 얼른 적어놓았다.
클래스와 상속의 개념을 머릿속에 잘 정리하고 잊지 않도록 하자.
혹여라도 제가 코드를 틀리게 적었다면 꼭 알려주세요ㅎㅎ 바르게 고쳐나가겠습니다!!
그리고 더 좋은 예시를 알고 계신다면 말씀해주세요ㅎㅎ 다 익혀나가겠습니다!!
'멋진 개발자' 카테고리의 다른 글
Do it! 자바 프로그래밍 입문 - 클래스와 객체 (0) | 2023.02.22 |
---|---|
Javascript 즉석 밴드 만들기 (0) | 2023.02.21 |
Java 입문강의 - 클래스패스, 패키지 (0) | 2023.02.20 |
지금까지 공부한 것들..(2) (3) | 2023.02.18 |
지금까지 공부한 것들...(1) (4) | 2023.02.17 |