분류 전체보기
-
12. 자바 메서드 오버라이딩과 다형성자바(Java) 강의 2019. 4. 12. 13:49
지난번 포스트에서 수퍼 클래스의 메서드를 그대로 이용하면서도 내가 원하는 기능(행동)을 하도록 바꿀 수 없을까?라는 질문을 했었다. 이번 포스트에서는 그 질문의 답 중 하나인 '메서드 오버라이딩'에 대해 알아보도록 한다. 또 메서드 오버라이딩이 객체 지향 프로그래밍에서 가지는 의미에 대해서도 설명하도록 한다. 이전 포스트 1. 자바 설치 및 개발환경 설정 2. 자바 변수와 자료형 (1) char 2. 자바 변수와 자료형 (2) boolean 2. 자바 변수와 자료형 (3) byte, short, int, long 2. 자바 변수와 자료형 (4) float, double 3. 자바 조건문 (1) if-else 4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열 4. 자바 배열..
-
11. 자바 상속(Inheritance) - this와 super자바(Java) 강의 2019. 4. 9. 14:08
지난 포스트에서 했던 '상속'을 이용해 코드를 재사용할 수 있었다. 그런데 만약 수퍼 클래스와 서브 클래스에 같은 이름의 변수나 메서드가 있다면 어떡할까? 두 클래스에 있는 멤버 변수와 메서드를 어떻게 구분할까? 또, 오브젝트에 파라미터로 넘어온 변수의 이름과 같은 이름의 멤버 변수가 있다면 어떡할까? 이전 포스트 1. 자바 설치 및 개발환경 설정 2. 자바 변수와 자료형 (1) char 2. 자바 변수와 자료형 (2) boolean 2. 자바 변수와 자료형 (3) byte, short, int, long 2. 자바 변수와 자료형 (4) float, double 3. 자바 조건문 (1) if-else 4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열 4. 자바 배열과 반복..
-
10. 자바 상속 (Inheritance)자바(Java) 강의 2019. 4. 6. 14:50
자바는 객체 지향 프로그래밍(Objected Oriented Programming) 언어이다. 이는 자바가 객체 지향 프로그래밍을 지원하기 위해 특별한 문법을 제공한다는 뜻이다. 이 포스트에서는 객체 지향 프로그래밍을 위한 문법 중 하나인 상속(Inheritance)을 사용하는 법에 대해 알아보도록 하겠다. 이전 포스트 1. 자바 설치 및 개발환경 설정 2. 자바 변수와 자료형 (1) char 2. 자바 변수와 자료형 (2) boolean 2. 자바 변수와 자료형 (3) byte, short, int, long 2. 자바 변수와 자료형 (4) float, double 3. 자바 조건문 (1) if-else 4. 자바 배열과 반복문 (1) 배열, 4. 자바 배열과 반복문 (3) 중첩 배열 4. 자바 배열과..
-
9. 자바 static 변수 static 메서드자바(Java) 강의 2019. 4. 3. 17:12
static키워드의 의미는 무엇일까? public static void main(..){..}에서 static은 왜 필요한 걸까? 또 클래스에서 메서드를 만들 때는 왜 static을 안 써도 괜찮았을까? 이번 포스트에서는 자바가 제공하는 static 키워드와 static의 의미, 사용하는 이유에 대해서 알아보도록 하겠다. 참고! 이 포스트는 자바8 기준으로 작성되었으며, 지금부터 나오는 메모리에 관련된 내용은 자바가상머신(Java Virtual Machine)에 대한 내용이다. 이전 포스트 1. 자바 설치 및 개발환경 설정 2. 자바 변수와 자료형 (1) char 2. 자바 변수와 자료형 (2) boolean 2. 자바 변수와 자료형 (3) byte, short, int, long 2. 자바 변수와 자료..
-
8. 자바 접근 제어자(Access Modifier)자바(Java) 강의 2019. 4. 1. 12:47
지금가지 포스트를 따라오면서 class앞에 붙은 public이라는 키워드가 무엇인지 궁금했을 것이다. 이번 포스트에서는 public과 같이 어떤 클래스/인터페이스나 변수, 메서드 앞에 붙어서 해당 클래스/인터페이스/변수/메서드가 접근 될 수 있는 범위를 정해주는 접근 제한자(Access Modifier)에 대한 이야기를 하도록 하겠다. 참고! 인터페이스는 이후의 포스트에서 설명하도록 하겠다. 이전 포스트 1. 자바 설치 및 개발환경 설정 2. 자바 변수와 자료형 (1) char 2. 자바 변수와 자료형 (2) boolean 2. 자바 변수와 자료형 (3) byte, short, int, long 2. 자바 변수와 자료형 (4) float, double 3. 자바 조건문 (1) if-else 4. 자바 배..
-
7. 자바 패키지(Package)자바(Java) 강의 2019. 4. 1. 08:19
여러분은 내 문서 폴더에 파일이 많아지면 어떻게 하는가? 아마도 파일을 카테고리별로 정리한 후 폴더를 만들어 관리할 것이다. 자바에서도 마찬가지이다. 어플리케이션의 규모가 커질수록 클래스 파일의 개수는 많아질 것이다. 자바에서는 이런 클래스 파일을 정리하기 위해 '패키지'를 제공한다. 6. 자바 오브젝트와 클래스 (1) built-in 오브젝트에서 6장 부터는 자바가 제공하는 특별한 문법들에 대한 이야기를 하겠다고 했다. 패키지도 이 특별한 문법들 중 하나이다. 단순히 코드를 작성하고 돌리는 데 패키지는 필요 없을 수 있다. 하지만 보다 큰 어플리케이션을 만들고, 확장하고, 유지 보수하기 위해서 패키지를 이용하는 것은 필수적이다. 이전 포스트 1. 자바 설치 및 개발환경 설정 2. 자바 변수와 자료형 (..
-
6. 자바 오브젝트와 클래스 (2) 클래스자바(Java) 강의 2019. 3. 29. 13:56
지난 포스트에서 자바가 기본적으로 제공하는 built-in 오브젝트에 대해 이야기해 보았다. 이번 포스트에서는 자바가 제공하는 오브젝트가 아닌 내가 만드는 오브젝트, 나의 코드를 담을 수 있는 오브젝트를 만들기 위해 무엇을 해야 하는지 알아보도록 하겠다. 예상 독자 자바를 배우고 싶은 누구나 JDK와 IDE를 설치한 자바 학습자. ( 1. 자바 설치 및 개발환경 설정 ) char를 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (1) char ) boolean을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (2) boolean ) byte, short, int, long을 공부한 자바 학습자. ( 2. 자바 변수와 자료형 (3) byte, short, int, long ) float과 doubl..
-
소프트웨어 엔지니어의 개발 전 체크리스트소프트웨어 엔지니어링 2019. 3. 28. 14:15
소프트웨어 엔지니어로서 나는 잠재적인 버그를 예방하기 위한 개발 프로세스에 대해 생각할 수밖에 없다. 세상에 버그가 없는 코드란 없지만, 최대한 버그가 나지 않게 하기 위해 항상 노력해야하는 것이 소프트웨어 엔지니어의 운명이라고 생각한다. 또 버그뿐만 아니라 어떻게 하면 유지보수가 쉽고 확장 가능한 소프트웨어를 만들 수 있는지 항상 고민해야 한다. 팀 단위에서는 Waterfall/Agile 같은 프로세스가 적용되고 이 프로세스 상에서 대부분의 문제가 드러나게 된다. 이런 문제 중에서는 빠르게 해결할 수 있는 것도 그렇지 못한 것도 있다. 특히 빠르게 해결할 수 없는 것들은 개발 당시에 우리가 생각도 못했던 것들 일 때가 많다. 이번 포스트에서는 내가 어떤 이슈(일)을 받았을 때, 일을 시작하기 전 생각하..