java

java/기본문법

[조건문과 반복문] 임의의 정수만들기 Math.random()

임의의 정수 만들기 0.0과 1.0사이 임의의 double값을 반환한다. Math.random()로 표현한다. 만약 0.0과 1.0 사이가 아닌 1과 3사이의 값을 구하기 위해선 어떻게 할까? ①각변에 구하고자 하는 문자의 갯수를 곱한다. 0.0*3

java/기본문법

[조건문과 반복문] switch

switch문 if문의 조건식이 많아지면 경우의 수가 증가하여 복잡해진다. switch문은 이러한 문제를 해결해 처리해야 할 경우의 수가 많을 경우 표현을 간결하게 할 수 있다. switch문의 사용을 알아보자. 조건식을 계산한다. 계산된 값이 일치하는 case문으로 이동한다. 이후의 문장들을 break문이나 swtich문의 끝이 나타날 때 까지 진행한다. 조건에 따라 계산의 흐름이 진행되는 건 if문과 다르지 않다. 그렇다면 if문과 switch문의 차이점은 무엇일까? 우선 if문의 조건식이 값이 true, false 두 개의 값을 갖는 반면 switch문은 정수, 문자열의 값을 갖는다. 또한 if문은 많은 수의 괄호안에 다양한 조건식이 사용되는 반면에 switch문은 하나의 괄호와 조건식이 쓰인다. ..

java/기본문법

[조건문과 반복문] if문

조건문과 반복문 Java에서 코드는 흐름에 따라 위에서 아래로 한 문장씩 순차적으로 진행 될 수도 있지만, 조건에 따라 문장을 건너뛰고 때로는 같은 문장을 반복해서 수행할 수 있다. 조건에 따라 코드를 진행할 수 있는건 조건문, 같은 문장을 반복 수행하는 것은 반복문이라 한다. 조건문은 예, 아니오의 조건을 만족할 때만 수행된다. 예를들면, 60점 이상이면 합격이라는 명제가 있다면 '예'라는 조건에 해당하는 60이상의 점수를 받았을 때 값이 출력된다. 조건문은 if, swich문을 사용한다. 위의 예는 score가 60이 초과 된다면 "합격입니다.", "축하드립니다."가 출력된다. 그래서 if 다음 '()'에는 조건식이 오고 '{}'에는 조건식에 따른 결과물이 나온다. if (조건식) { //조건식이 참..

java/객체지향

[객체지향] 인터페이스

● 인터페이스 인터페이스는 일종의 추상클래스이다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만, 추상글래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 즉, 추상메서드와 상수만을 멤버로 가질 수 있으며 그외 다른 요소는 허용하지 않는다. 인터페이스는 그 자체적으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. 인터페이스는 키워드로 class 대신 interface를 사용한다. 그리고 접근제어자로 public 또는 default만 사용할 수 있다. interface 인터페이스이름 { public static final 타입 상수이름= 값; public abstract 메서드이름(매개변수목록); } 인터페이스는 일반적인 클래스와 달리 다음과 같은 제약사..

java/객체지향

[객체지향] 추상 클래스

●추상 클래스(abstract class) Tv 설계도를 만든다고 가정해보자. Tv를 만들 때 맨 땅에 헤딩하듯 만들려고하면 설계부터 힘들 것이다. Tv모델들은 외양은 모두 제 각각 이지만 기능에서는 90%설계가 동일할거다. 서로 다른 세 개의 설계도를 따로 그리는 것보다는 이들의 공통부분만을 그린 미완성 설계도를 만들어 놓고, 이 미완성 설계도를 이용해서 각각의 설계도를 완성하는 것이 훨씬 효율적이다. 자바의 객체지향에서는 미완성 설계도에 해당하는 클래스를 제공한다. 이를 추상클래스라하고 미완성 메서드를 포함하고 있다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상 클래스로 인스턴스는 생성할 수 없다. 추상 클래스 미완성 설계도. 인스턴스 생성불가. 미완성 메서드(추상 메서드)를 포함하고 있는 클..

java/객체지향

[객체지향]여러 종류의 객체를 배열로 다루기

다형성의 개념을 통해 조상타입의 참조변수로 자손타입의 객체를 참조하는 게 가능하단 걸 배웠다. Product p1 = new Tv(); Product p2 = new Computer(); Product p3 = new Audio(); Product클래스가 Tv, Computer, Audio클래스의 조상클래스 즉, 서로가 상속관계일 때 위와같은 코드 작성이 가능하다. 위의 코드를 그림으로 나타내면 다음과 같다. 그림을 보면 코드를 이해하기 쉽다. 위의 코드를 Product타입의 참조변수 배열로 처리하면 다음과 같다. Product p[] = new Product[3]; p[0] = new Tv(); p[1] = new Computer(); p[2] = new Audio(); 코드만 봐서는 와닿지가 않는다...

java/객체지향

[객체지향] 다형성(polymorphism)

●다형성 다형성이란 '여러 가지 형태를 가질 수 있는 능력'이다. 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 한다. 이를 다형성이라고 한다. 구체적으로 말하자면 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것이다. class Tv { boolean power; int channel; void power() { power = !power } void channelUp() { ++channel; } void channelDown() { --channel; } } class SmartTv extends Tv { String text; void caption() { /* 내용생략 */ } } 지금까지 우리는 생성된 인스턴스를 다루기 위해서, 인스턴스의 타..

java/객체지향

[객체지향] 제어자

●제어자(modifier) 제어자는 영어 문법에서 형용사와 같은 역할을 한다. 제어자는 클래스, 변수 또는 선언부에 함께 사용되며 부가적인 의미를 부여한다. 제어자는 접근 제어자와 그 외의 제어자로 나눌 수 있다. 접근 제어자 public, protected, (default), private 그 외 static, final, abstract, native, transient, sychronized, volatile, strictfp 제어자는 클래스나 멤버변수, 메서드에 주로 사용되며 , 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한 번에 네 가지 중 하나만 선택해서 사용할 수 있다. 접근 제어자 이외에도 여러 제외자가 있지만 'static, final, a..

각시탈코더
'java' 카테고리의 글 목록 (4 Page)