분류 전체보기 501

자바 인수 전달 방법

기초형 값이 전달되는 경우 인수의 값이 매개 변수로 복사된다. 인수의 복사본이 만들어지고 매게 변수를 변경하여도 메소드 외부에 있는 인수에 영향을 주지 않는다. 객체가 전달되는 경우 객체의 참조값이 복사되어 전달된다.메소드가 객체를 반환할 떄도 객체가 통째로 반환되는 것이 아니라 객체의 참조값만 반환된다. 배열이 전달되는 경우 배열도 객체이기 때문에 모두 매개변수로 받아야 한다. 때문에 배열을 전달하는 것은 배열 참조변수를 복사하는 것이다.

java 2019.04.11

자바 객체 지향 프로그래밍의 특징

캡슐화란? 코드를 재사용할 수 있는 체재이다. 다른 사람이 작성한 코드를 쓰기 위해서는 코드 자체가 잘 정리되어 있어야만 할 것이다. 즉 관련된 데이터와 알고리즘이 하나의 묶음으로 정리되어 있어야 한다. 캡슐화에는 2가지의 목적이 있다. 첫번째 목적은 서로 관련되어 있는 데이터와 알고리즘을 묶는 것이다. 관련있는 데이터와 알고리즘이 묶여 있으면 사용하기가 매우 편리하다. 두번째 목적은 객체의 내부를 보호하는 것이다. 정보 은닉(information hiding)이라고 한다. 상속이란? 기존의 코드를 재활용하기 위한 기법으로 이미 작성된 클래스(부모 클래스)를 이어받아서 새로운 클래스(자식 클래스)를 생성하는 기법이다. 상속은 기존의 코드를 재사용하는 강력한 기법이다. 다형성이란? 객체가 취하는 동작이 상..

자바 객체 지향 프로그래밍이란?

객체 지향프로그래밍(OOP:object-oriented programming)은 우리가 살고 있는 실제 세계와 비슷하게 소프트웨어도 작성해보자는 방법이다. 예를들면 사람이 리모콘을 이용하여 텔레비전을 조작하는 상황을 생각해본다. 텔레비전과 리모콘은 모두 특정한 기능을 수행하는 객체(object)라고 생각할 수 있고 텔레비전과 리모콘은 메세지를 통하여 서로 상호 작용하고 있다. 객체란? 객체(object)는 그 이름에서 볼 수 있듯이, 객체 지향 기술의 핵심 개념이다. 객체는 상태와 동작을 가지고 있다 ex) Tv 객체는 상태(필드) = 객체안의 변수 동작(메소드) = 객체 안의 함수 채널번호//int channelNo; 켜기//turnOn() 볼륨//int volume; 끄기//turnOff() 전원상태..

자바 ArrayList

자바에서는 ArrayList라는 클래스를 제공하는데 이 클래스를 사용하려면 배열의 크기를 자동으로 변경하면서 사용할 수 있다. 즉 우리가 요소를 추가하면 배열은 자동으로 커지게 된다. ex) for-each 루프 ArrayList list = new ArrayList(); 예를들어 ArrayList로 생성한다. 음식의 이름을 저장하여야 하므로 String 자료형을 주어서 ArrayList를 생성하면 된다. 그리고 위에 문장이 실행되면 비어있는 리스트가 생성된다. add()메소드를 호출하여서 요소들을 리스트에 추가할 수 있다. import java.util.*; public class ArrayListTest{ public static void main(String args[]){ ArrayList lis..

java/자료형 2019.04.08

switch/case 문

switch/case 문은 if 문과 비슷하지만 좀 더 정형화된 모습의 제어문이다. switch/case 문의 구조는 다음과 같다. switch(입력변수) { case 입력값1: ... break; case 입력값2: ... break; ... default: ... break; } 입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문 하위의 문장이 실행된다. case문마다 break 라는 문장이 있는데 해당 case문을 실행 한 뒤 switch문을 빠져나가기 위한 것이다. public class SwitchDemo { public static void main(String[] args) { int month = 8; String monthString = "";..

java/제어문 2019.04.08