프로그래밍 언어는 인간이 이해할 수 있는 고급 언어에서 컴파일 과정을 거쳐 기계가 이해할 수 있는 저급 언어(기계어)로 번역된다. 저급 언어와 고급 언어의 중간 단계에 있는 것이 어셈블리어는 기계어를 MOV, ADD 등 이해하기 쉬운 단어로 대응시킨 언어이다. C언어의
C와 매우 유사하지만 몇 가지 차이점이 있다. JAVA는 메소드, 메인 메소드를 전체 클래스(객체)가 감싸고 있는 형태이다. 또한 JAVA의 boolean은 true/false만을 값으로 갖는다(0, 1 등 불가능). 메인 메소드에서 프로그램이 시작된다. 변수명
수식은 연산자와 피연산자로 구성된다. 연산자의 종류로는 산술연산자, 논리연산자, 비트연산자가 있다. 산술연산자는 더하기, 빼기, 곱하기, 나누기, 나머지를 말한다. 나누기와 나머지의 경우, 0으로 나누면 에러가 발생하는 것이 일반적이지만 0.0으로 나눌
기사 템플릿을 만들고, 기사 작성에 필요한 제목, 날짜 등을 입력 받아 출력하는 문제이다. 기사 주제를 선정하고 필요한 변수 목록을 만든다. 변수를 입력 받는다. 이때, 변수의 자료형과 next(), nextLine()에 유의한다. 환율은 nextDouble, 그 다음
비교문 비교문은 기본적으로 C와 같다. 단순 if문 조건식에는 true나 false를 결과값으로 가지는 boolean 변수나 논리 연산이 들어간다. if-else문 조건식이 참일 경우 명령문 1을 실행하고, 거짓일 경우 명령문 2를 실행한다. 결과적으로 둘 중 하나의 코드블록만 실행하게 된다. 다중 if-else문 여러 개의 조건을 확인할 경우...
사용자에게 단과 행, 출력 조건을 입력 받아 구구단을 출력한다. 단, 행, 출력 조건 변수가 필요하다. 단은 바깥쪽 for문의 인덱스인 i의 범위이다. 행은 안쪽 for문의 인덱스인 j의 범위이다. 홀수단/짝수단만 출력을 하기 위해 i의 홀짝 여부를 사용자의 입력과 비
배열 배열 배열은 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료 구조이다. 같은 타입, 같은 의미를 지닌 자료들이라면 개별적인 변수로 저장하기보다 배열로 저장하는 것이 효율적이다. 또한 반복문으로 배열을 탐색할 수 있다는 장점이 있다. 일차원 배열 와 같이 배열을 선언하고 와 같이 공간을 할당한다. 이때, 공간은 힙 영역에 생성된다. 배열 이름...
크기가 N인 정수 배열을 생성한다. 랜덤 수로 배열을 초기화한다. 오름차순/내림차순 정렬한다. makeArray -> 크기가 n인 배열을 생성하고 0으로 초기화한다. setArrayRandom -> 전달받은 배열을 start와 end 사이의 랜덤한 값으로 초기화한다.
OOP는 Object-Oriented Programming의 줄임말으로, 객체를 중심으로 생각하는 객체지향 프로그래밍을 말한다. 객체란 고유의 특성(속성)과 행동(메소드)를 가지는 존재를 말한다. 문법적으로는 C의 구조체에 함수가 합쳐진 것으로 이해하면 된다. OOP의
java의 접근 지정자로는 public, private, protected, default(생략)이 있다. 접근 지정자는 클래스나 멤버를 공개/비공개로 설정하여 다른 클래스에서의 접근을 제한하기 위해 사용한다. OOP의 캡슐화는 기본적으로 내부를 숨기지만, 접근 지정
상속은 기존 클래스의 속성과 메소드를 자식 클래스가 물려받아 사용하는 것을 말한다. 코드를 재사용, 확장하여 사용할 수 있어 객체지향의 핵심 개념이다. 단, 속성이나 메소드가 같다고 해서 상속을 남발하지 않는다. "Is-A" 논리 관계일 경우에만 사용한다. 예를 들어,
캐스팅은 상속 트리 내에서의 객체의 형 변환으로 생각할 수 있다.토끼, 사자 ---(업캐스팅)---> 동물토끼, 사자 <---(다운캐스팅)--- 동물업캐스팅은 하위 클래스 객체를 상위 클래스 타입으로 변환하는 것이다. 부모의 관점에서 자식을 바라보는 것으로 이해할
A, B, C, D, F, G는 클래스이고 IA, IB, IC 는 인터페이스이며, 아래와 같은 관계가 성립한다. A에는 a(), B에는 b(), C클래스에는 c()가 있다. IA에는 ia(), IB에는 ib(), IC에는 ic() 가 정의되어 있는 상태이다. 클래스 헤