1. 높은 재사용성 - JAVA API에서 제공하는 메서드들을 사용하면서 경험한 것처럼 한번 만들어 놓은 메서드는 몇 번이고 호출할 수 있으며 다른 프로그램에서도 사용이 가능 2. 중복된 코드의 제거 - 프로그램을 작성하다보면, 같은 내용의 문장들이 여러 곳에 반복해서 나타나곤 한다. (프로젝트 하면서 이해함) 3. 프로그램의 구조화 - 큰 규모의 프로그램에서는 문장들을 작업단위로 나눠서 여러 개의 메서드에 담아 프로그램의 구조를 단순화시키는 것이 필수적.

전체 글
응용프로그램 실행 -> JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 3가지 주요 영역(method area, call stack, heap) 1. 메서드 영역(method area) - 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스 파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. - 클래스변수 : 인스턴스 변수 앞에 static을 붙이기만 하면 된다. - 클래스변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다. 2. 힙(heap) - 인스턴스..
클래스 : '객체를 정의해놓은 것.' or '객체의 설계도 또는 틀' - 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 클래스란 객체를 정의해 놓은 것이다. 클래스의 용도 클래스는 객체를 생성하는데 사용된다. 객체 : '실제로 존재하는 것' - 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물들이 곧 객체이다. - 객체지향이론에서는 사물과 같은 유형적인 것 뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주 - 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다.
1. 코드의 재사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.
next() - 문자 또는 문자열 공백을 기준으로 한단어 또는 한문자씩 입력 받는다. nextLine() - 문자 또는 문장 한라인 전체를 입력 받는다. https://enter.tistory.com/105
예제 1 - 좌표에 x표하기 package ch1; import java.util.Scanner; public class MultiArrEx1 { public static void main(String[] args) { final int SIZE = 10; int x = 0, y = 0; char[][]board = new char[SIZE][SIZE]; byte[][]shipBoard = { {0, 0, 0, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 1, 0, 0, 0, 0, 0}, {0..